C语言复习—字符数组
数组名代表数组的起始地址,所以在使用scanf输入数组时可不用加&
scanf不能输入带空格的字符串1
2char str[8];
scanf("%s",str);printf输出一个或多个字符串时,输出项用数组名或数组元素的地址,直到遇见字符串结束标志'\0'才会结束输出1
2
3
4char str[13]="c & Computer";
printf("%s\n%s\n",str,&str[4]);
输出结果为:c & Computer
Computergets函数输入字符串时,可包含空格,自动将回车转换为结束标志'\0'1
2char str[13];
gets(str);如果输入为:
C & Computer[回车],则将字符串C & Computer和'\0'存入str中(此处的\0是将回车转换为\0)puts函数输出字符串时,自动将字符串结束标志'\0'转换为回车换行符1
2
3
4char str[16]="Chine\nChongQing";
puts(str);
输出结果为:China
ChongQing
总结
使用scanf输入字符串时,不能输入空格
使用gets输入字符串时,可以包含空格,且gets会自动将回车转换为'\0'
使用printf输出字符串时,输出项可用数组名或数组元素的地址(&str[4]),遇见'\0'则停止输出
使用puts输出字符串时,自动将'\0'转换为回车符
例子
- 统计单词个数
1 | #include "stdio.h" |

