回答:当程序执行到scanf()函数时,
scanf()函数会在遇到第一个空白字符(空格、制表符、换行符)处停止读取。
用scanf()只会把一个单词而不是把整个输入的字符串读入字符数组中。
如果想要读入一整行的输入,可以考虑使用C提供的其他输入函数.
比如:gets()函数或者fgets()函数
- #include <stdio.h>
- int main(void)
- {
- char s[30];
-
- // gets()函数会读取一整行
- // 但是要注意,gets()函数不检查输入的字符数是否超过字符数组的实际容量。
- // 在使用gets()函数时要注意准备输入的字符数,以及要为'\0'预留存储空间。
- // fgets()函数可以设定最大读取字符数,但如果只是测试程序,还是gets()函数比较方便。
- // fgets(s, sizeof(s), stdin);
- gets(s);
-
- printf("%s\n", s);
-
- return 0;
- }
复制代码
|