问题 单项选择题

设有定义:char s[81]; int i=10;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是

A.gets(s);

B.while((s[i++]=getchar())!='\n'); s[i]='\0';

C.scanf("%s", s);

D.do{ scanf("%C", &s[i]);} while(s[i++]!='\n'); s='\0';

答案

参考答案:C

解析: 在scanf中,采用“%s”格式符将整个字符串一次输入,直到遇到空格或制表符为止。对于选项C,不能正确读入带有空格的字符串。

选择题
单项选择题 案例分析题