问题
单项选择题
设有定义:char s[10];int i=0;,以下不能将一行(不超过100个字符)带有空格的字符串正确读入的语句或语句组是______。
A.gets(s);
B.scanf("%s",s);
C.while((s[i++]=getchar())!=’\n’);s[i]=’\0’;
D.doscanf("%c",&s[i]);)while(s[i++]!=’\n’);s[i]=’\0’;
答案
参考答案:B
解析: 本题考查标准输入输出函数和循环语句。gets(s)函数的作用是将输入的字符读入字符串s,直到遇到回车。而scanf()函数接收字符串时的结束标志为回车或者空格。因此选项B不能,选项C和选项D中按字符逐个读入字符串s中,直到读入的字符是换行符为止,因此正确。