字符数组与字符串
<1>定义
Char数组名[常量表达式]
数组中每一个元素的值为一个字符。
系统在内存为字符数组分配若干连续的存储单元,每个储存单元为一个字节。
<2>初始化
逐个元素初始化,如char c[8]={‘b’,’o’,’y’};(要记得加单引号)
用字符串初始化,如char c[11]={“I am a boy”};初始化后在末尾自动添加’0’
如果初值个数<数组长度,则只将这些字符赋给数组中前面元素,其余元素自动定为空字符(即’0’)
<3>输入输出
1 用格式”%c”逐个输入输出,如scanf(“%c”,&a[0]);
2 用格式符”%s”整个字符串输入输出,如scanf(“%s”,a)
用”%s”格式输出字符数组时,遇’\0’结束输出,且输出字符中不含’\0’,用scanf及”%s”输入时,数组名前不能再加”&”符号。
字符串的末尾必须有’\0’字符,strcmp可以比较单个字符吗且字符串只能存放在字符数组中。
scanf中%s输入时遇空格或回车结束。
3 用函数gets实现输入
gets(字符数组),如gets(a)
调用函数时,回车键作为输入结束标志;然后将接收到的字符依次赋给数组各个元素,并自动在字符串末尾加字符串结束标记’\0’
4 用字符串输出函数puts实现输出
puts(字符串/字符数组),如puts(a);
输出一个字符串,并在输出后自动换行。
<4>字符串处理函数
1 字符串拷贝函数
格式 strcpy(字符数组1,字符串2)
将字符串2拷贝到字符数组1中去,要求字符数组1必须足够大,拷贝时’\0’一同拷贝,不能使用赋值语句为一个字符数组赋值。字符数组1应写成数组名的形式,比如char a[0]; strcpy(a,…)
2 字符串连接函数
格式strcat(字符数组1,字符数组2)
将字符数组2连到字符数组1后面,要求字符数组1必须足够大,连接前,两串均以’\0’结束;连接后,串1的’0’取消,新串最后加’\0’。
3 计算字符串长度的函数
strlen(字符数组);
求出字符串或字符数组中实际字符个数,不包括’\0’,并且遇到’\0’结束。
4 字符串比较函数
格式strcmp(字符数组1,字符数组2)
比较规则:对两串从左到右逐个字符比较(ASCII码),直到遇到不同字符或’\0’为止
返回int型整数,若1<2则返回负整数,若1>2,则返回正整数,若1==2,则返回零。
常用于if语句。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论