字符数组输入时注意:
用scanf()和printf()输入输出字符数组时,%c逐个输入输出字符数组。
“%c”逐个输入字符,将printf()和scanf()放在循环内进行输入输出,数组元素作输入输出项(输入时要加“&”);
“%s”整体一次性输入输出字符(string),数组名作输入输出项(输入时不加“&”)。
例如:
//%c方式输入字符串
char name[20];
int i;
for(i=0;;i++){
scanf("%c",&name[i]);
if(name[i]=='\n')
break;
}
//%s方式输入字符串
char name[20];
scanf("%s",name);
字符串处理函数
字符串输入函数gets
格式:gets(字符数组);
从键盘输入以回车结束的字符串放入字符数组中,并自动加'\0'。
注意:与scanf()不同的是gets()可以输入空格
字符串输出函数puts
格式:puts(字符数组);
向显示器输出字符串,输出完换行
字符串连接函数strcat
格式:strcat(字符数组1,字符串2);
将字符串2(可以是字符数组或字符串常量)连接到字符数组1末尾,并
返回字符数组1的首地址。
字符串复制函数strcpy
格式:strcpy(字符数组1,字符串2);
将字符串2(可以是字符数组或字符串常量)复制到字符数组1,并
返回字符数组1的首地址。
字符串比较函数strcmp
格式:strcmp(字符串1,字符串2);
比较字符串1和字符串2的大小,ASCII值大的为大,返回值的含义:
0:两串相等
正整数:str1>str2
负整数:str1<str2
字符串长度计算函数strlen
格式:strlen(字符串);
返回字符串的长度。注意,sizeof(字符串)返回字符串占用的实际空
间,
注意:
(1)只有字符数组的数组名允许整体输入和输出
(2)没有字符串结束符‘\0’的字符数组,不能作为字符串引用
(3)不能采用scanf("%s",s)整体输入带空格的字符串