要从键盘读入含有空格字符的字符串,应该用gets()函数。
getc()与getchar()语句都是读取单个字符的,不能用于字符串的读入。而gets()与scanf()语句都可以读取字符串,但是区别在于:scanf()语句不能读空格,一遇到空格则自动结束,用“空格”区别不同的字符串;要读含有空格的字符串则只有gets()函数。
扩展资料
gets()函数用于从缓冲区中读取字符串,其原型如下:char *gets(char *string);
gets()函数从流中读取字符串,直到出现换行符或读到文件尾为止,最后加上NULL作为字符串结束。所读取的字符串暂存在给定的参数string中。
【返回值】若成功则返回string的指针,否则返回NULL。
注意:由于gets()不检查字符串string的大小,必须遇到换行符或文件结尾才会结束输入,因此容易造成缓存溢出的安全性问题,导致程序崩溃,可以使用fgets()代替。
A和C都是读取单个字符的,B和D都可以赌取字符串,但是区别在于:
scanf不能读空格,一遇到空格则自动结束,所以要读含有空格的字符串则只有B即是 gets()函数。
D
我在别的网站上找的