要从键盘读入含有空格字符的字符串,应该用什么函数?A.getc() B.gets() C.getchar() D.scanf

为什么?
2024-11-07 17:00:40
推荐回答(3个)
回答1:

要从键盘读入含有空格字符的字符串,应该用gets()函数。

getc()与getchar()语句都是读取单个字符的,不能用于字符串的读入。而gets()与scanf()语句都可以读取字符串,但是区别在于:scanf()语句不能读空格,一遇到空格则自动结束,用“空格”区别不同的字符串;要读含有空格的字符串则只有gets()函数。



扩展资料

gets()函数用于从缓冲区中读取字符串,其原型如下:char *gets(char *string);

gets()函数从流中读取字符串,直到出现换行符或读到文件尾为止,最后加上NULL作为字符串结束。所读取的字符串暂存在给定的参数string中。

【返回值】若成功则返回string的指针,否则返回NULL。

注意:由于gets()不检查字符串string的大小,必须遇到换行符或文件结尾才会结束输入,因此容易造成缓存溢出的安全性问题,导致程序崩溃,可以使用fgets()代替。

回答2:

A和C都是读取单个字符的,B和D都可以赌取字符串,但是区别在于:
scanf不能读空格,一遇到空格则自动结束,所以要读含有空格的字符串则只有B即是 gets()函数。

回答3:

D
我在别的网站上找的