C语言初级阶段4——数组3——字符数组
C语言初级阶段4——数组3——字符数组
字符数组的定义:储存字符类型数据的集合
1.注意:如果用字符串给字符数组初始化,那么不需要{},但是要有""。
2.%s :用来输出字符串的格式占位符
3.0数据 转义字符 \0 \0表示字符串的结尾 每个字符串的末尾都有一个\0表示结束
4.%s表示输出到字符串的\0位置
#include<stdio.h>
int main() {
int arr[10];
char str[10] = { 0 };
str[0] = 'a';
str[1] = 'b';
printf("%d\n", str[1]);
return 0;
}
#include<stdio.h>
int main() {
int arr[10];
char str[10] = { 0 };
str[0] = 'a';
str[1] = 'b';
for (int i = 0; i < 10; i++)
{
printf("%c\n", str[i]);
}
char str1[10] = { "auibdeg" };
for (int i = 0; i < 10; i++)
{
printf("%c\n", str1[i]);
}
return 0;
}
#include<stdio.h>
int main() {
char str1[10]={"auibdeg"};
printf("%s\n",str1);
return 0;
}
#include<stdio.h>
int main() {
char str2[10];
str2[0] = 'a';
str2[1] = 'b';
//str2[9]='\0';
str2[2] = '\0';
printf("%s\n", str2);
return 0;
}
#include<stdio.h>
int main() {
char str2[10];
scanf("%s", str2);//单个字符需要加&多个字符不需要加&
printf("%s\n", str2);
return 0;
}
#include<stdio.h>
int main() {
char str3[10] = "你好";
char str4[] = "好";
return 0;
}
#include<stdio.h>
int main() {
char str5[10] = "abc";
printf("%c\n", &str5[3]);
char str6[10];//\0就是一个空格
/*scanf("%s",str6);
printf("%s",str6);*/
gets(str5);
puts(str5);
return 0;
}
//二维数组用来存储学生名单可以用中文赋值。
#include<stdio.h>
int main() {
char str7[3][10] =
{
{"张三"},
{"李四"},
{"王五"}
};
printf("%s\n", str7[0]);
return 0;
}
常用的字符串函数
1.strcmp用来比较两个字符串的函数
比较完之后返回一个结果,0表示两字符串相等
>0表示str>str1
<0表示str#include<stdio.h>
#include<string.h>//strcmp的头文件
int main() {
char str[10] = "aaaaaa";
char str1[10] = "aaara";
if (strcmp(str, str1) == 0)
{
printf("YES\n");
}
if (strcmp(str, str1) > 0)
{
printf(">\n");
}
if (strcmp(str, str1) < 0)
{
printf("<\n");
}
return 0;
}
2.strlen:求字符串的有效长度
warning:\0不算有效长度 sizeof是求类型大小的
#include<stdio.h>
#include<string.h>//strlen的头文件
int main() {
char str[10] = "abc";
printf("%d\n", sizeof(str));
printf("%d\n", strlen(str));
return 0;
}
3.strcat:字符串的拼接函数
把str拼接到str1的末尾
str后面的[]空间一定要给够,不然会报错,可能会损坏本文件。
#include<stdio.h>
#include<string.h>//strcat的头文件
int main() {
char str[10] = "aac";
char str1[10] = "bba";
printf("%s\n", strcat(str, str1));
/*或者是strcat(str,str1);
printf("%s\n",str);*/
return 0;
}
4.strcpy:字符串拷贝函数
把srt里面的数据替换成str1.
#include<stdio.h>
#include<string.h>//strcpy的头文件
int main() {
char str[10] = "abc";
char str1[10] = "def";
strcpy(str, str1);
char str2[10] = { 0 };
strcpy(str2, "qqqq");
printf("%s\n", str2);
printf("%s\n", str);
puts(str2);
return 0;
}
VS2022改动补充
对于scanf的改动问题的解决办法
修改方法1:将scanf换成scanf_s,如果是字符串的话需要改变格式为scanf_s("%s",变量名,变量大小)
#include<stdio.h>
#include<string.h>
int main()
{
/*char str[10];
scanf_s("%s",str,10);
printf("%s\n",str);*/
char ch;
scanf_s("%c", &ch);
printf("%c", ch);
return 0;
}
修改方法2:右击源文件,打开属性,找到SDL检查,设置为否。
对于gets的改动问题的解决办法
修改方法1:将gets换成gets_s.
修改方法2:将gets换成fgets(str,字符串大小,stdin)
C语言初级阶段4——数组3——字符数组的更多相关文章
- String.getBytes()和String.tocharArray(),字节数组和字符数组的区别
String.getBytes()是将字符串转化为一个字节数组.而String.toCharArray()是将一个字符串转化为一个字符数组. [例如] byte bys[] ="国庆60周年 ...
- C语言中整形数组、字符数组、字符串的区别
一. 第一 整型数组的存放,数组最后是不加'\0'的,字符串会自动加上,因此存放字符的时候数组的大小要比实际字符的多一个 第二 整型数组 每一个单元是4个字节的,字符串是一个一个字符存放的,每个字符占 ...
- 字符类型char、字符串与字符数组、字符数组与数据数组区别
字符类型是以ASCII码值运算的:小写字母比相应的大写字母大32,其中A=65,a=97 Esc键 27(十进制).'\x1B'(十六进制).'\33'(八进制) 转义字符:\0 空字符 AS ...
- string str将str转字符数组以及字符数组初始化
c和指针(<pointers on c>) 8.1.11 一个字符串,如"hello",一般为字符串常量,可以用它对字符指针赋值,或初始化,相当于把这个字符串常量的首地 ...
- String与包装类_字节数组_字符数组间的转换
1.字符串与基本数据类型,包装类之间的转换 2.字符串与字节数组间的转换 3.字符串与字符数组间的转换 4.String与StringBuffer ①String---->StringBuffe ...
- 【C语言学习】-04 一维数组、字符数组
一维数组.数组排序.字符数
- [日常] C语言中的字符数组和字符串
c语言字符数组和字符串:1.存放字符的数组称为字符数组 char str[]2.'\0'也被称为字符串结束标志3.由" "包围的字符串会自动在末尾添加'\0'4.逐个字符地给数组赋 ...
- C语言字符数组和字符串
用来存放字符的数组称为字符数组,例如: char a[10]; //一维字符数组 char b[5][10]; //二维字符数组 char c[20]={'c', ' ', 'p', 'r', 'o' ...
- C语言字符数组超细讲解
看到标题,有不少朋友会想:字符数组不也是数组吗?为什么要单独拿出来讲哩?莫非它是朵奇葩? 哈哈,确实,一起来认识一下这朵数组界的奇葩吧! 一.字符数组的定义.引用.初始化 大家好!我是字符数组,看我的 ...
- C语言数组:C语言数组定义、二维数组、动态数组、字符串数组
1.C语言数组的概念 在<更加优美的C语言输出>一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下: #include <stdio.h> #include &l ...
随机推荐
- centos更改java的环境变量
vi /etc/profile 在最后添加这个信息,或修改这些信息 export JAVA_HOME=/usr/local/java/jdk1.8.0_251export CLASSPATH=.:$ ...
- 2022年JMUCTF WP
2022年JMUCTF WP crypto 2,Are you ok Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. ...
- 面试之CAS
1.CAS(Compare And Swap)比较并替换,是线程并发运行时用到的一种技术或者算法,CAS与之对应的是一些锁技术,,例如synconozied,同事这种比较替换的思想也可以运用到数据库上 ...
- Markdown 基础语法 备忘录
在vscode中使用Markdown先要安装一些插件: Markdown Preview Enhanced Paste Image LimfxCodeEX Code Spell Checker 一级标 ...
- java基于ssm框架开发的视频论坛网站源码
简介 Java基于ssm开发的视频论坛网站,普通用户可以浏览视频搜索视频评论点赞收藏视频,关注用户.还可以浏览新闻,发布帖子到论坛. 演示视频 https://www.bilibili.com/vid ...
- apk签名之后安装失败
Android Studio 3.0.1 很奇怪的一个现象,直接run的话可以成功,debug也可以,但是用签名打包之后,却安装失败,原来是打包的时候选错了.原来签名时,Signature Versi ...
- Day 22 22.1.2:增量式爬虫 - 场景2的实现
场景2的实现: 数据指纹 使用详情页的url充当数据指纹即可. 创建爬虫爬虫文件: cd project_name(进入项目目录) scrapy genspider 爬虫文件的名称(自定义一个名字即可 ...
- I3D论文总结
最近看了李沐讲论文系列朱毅老师讲的I3D论文精读(视频,笔记),这里记录一下. 1.针对的问题 1.之前的视频数据集都太小,导致大多数流行的动作识别基准都很小,且即使不同模型效果有好有坏也难以区分. ...
- 用深度学习模型Word2Vec探索《红楼梦》人物关系
先来看一看结果,发现: 1.贾宝玉和袭人的关系最近. 2.薛宝钗和自己的妈妈关系最近. 3.贾宝玉和林黛玉逼格比较统一,薛宝钗属于独树一帜的逼格调性. 4.大观园中可以看到邢岫烟经常出没... 还有更 ...
- jQuery 使用手册(一)
一:核心部分$(expr)说明:该函数可以通过css选择器,Xpath或html代码来匹配目标元素,所有的jQuery操作都以此为基础参数:expr:字符串,一个查询表达式或一段html字符串例子:未 ...