C语言
1. 字符数组——用来存放字符数据、
1. char []
2. 字符串和字符串字符结束标记、
3. \0——字符串结束标记
2. 为了测定一个字符串的实际长度
-
字符数组的输入输出、
-
输入字符串、
-
scanf、
-
char a[10]; scanf("%s", a); printf("%s\n", a);//会提示警告、原因是这是scanf旧的标准、vs编译器有新的标准、 -
scanf解决方案、参考网上的讲解
-
、数组名本身就代表数组的起始地址、
-
-
-
字符数组串处理函数、
-
%s——输出一个字符数组(字符串)、
-
puts——将一个字符串输出、只能输出一个字符串、相当于printf(%s)、
-
gets——字符数组名、输入字符串到数组中——只能输入一个字符、功能不及scanf
-
strcat
-
strcat( , )
-
起到连接作用、将字符串 , 后面的连接到前面、
-
char a[10] = "wo"; char b[10] = "shi"; char c[10] = "shei";//只能使用两个、不能说使用c strcat(a, b); printf( a, b); -
第一个字符串的字符必须足够大、足够连接后面的字符串即、a必须能放下b的内容、
-
连接时、两个 /0 变成一个——具体看内存
-
只能拷贝、不能赋值、不能将一个字符串常量或者字符数组直接赋值给一个字符数组、
-
是因为字符串不能直接赋值、所以才有了strat函数、
-
赋值≠初始化、
- 赋值——只能将一个字符赋值给一个字符型变量或者数组元素
-
-
strcpy
-
strcpy( , ),
-
将后面的内容填充到前面、前面的内容将被替换成后面的内容
-
char a[10] = "wohenhao"; char b[10] = "shi"; strcpy(a, b); printf(a, b);//注意看内存、内存有enhao、只是shi替换woh -
a必须是字符数组(因为需要地址)、b是字符串(也可以是字符数组、也可以是字符串常量)、
-
拷贝是连同 /0 也一同拷贝
-
strcmp( , )函数
-
比较前面字符串和后面字符串是否一样
-
比较内容、
-
如果前面=后面则返回——0
-
如果前面<后面则返回——正整数
-
如果前面>后面则返回——负数、
-
比较规则——对两个字符串从左到右逐字比较、表ASCII码值的大小、以出现第一个不同为依据、判断大小、
-
一般用于比较是否相同、
-
int a; char b[10] = "woshi"; char c[10] = "woshi"; a = strcmp(b, c); printf("%d\n",a); b==c//这样的比较是比较内存地址 、-
、
-
、
-
、strlen
-
测试字符段长度的函数、遇到/0停止、不包括/0、
-
sizeof——查询的是所占字节、而非内容的字节
-
int a; int soa = sizeof(a); printf("%d", soa);-
strlen——和内容有关 、sizeof——和内容无关、
-
、
-
-
-
-
char a[30]="woshishei"; printf("%s\n", a);//————正常 a[3] = 'd';//————实验1——给予其它字符、 printf("%s\n", a);//——结果——给予的字符替换替换了原先的字符 a[3] = '\0';//————实验2——给予\0结束字符 printf("%s\n", a);//————结果————提前结束
浙公网安备 33010602011771号