设有定义:char s[81];int i=10;,以下不能将一行(不超过80个字符)带有空格的字符串真确读入的语句或语句组是
问题描述:
设有定义:char s[81];int i=10;,以下不能将一行(不超过80个字符)带有空格的字符串真确读入的语句或语句组是
A)gets(s)
B)while((s[i++]=getchar())!=”\n”;s=”\0”;
C)scanf(“%s”,s);
D)do{scanf(“%c”,&s);}while(s[i++]!=”\n”);s=”\0”;
答
B 和D 不需要说了吧 ,做了判断 如果 s数列的小标是空格 就替换成\n
说下gets
gets 这是一个函数 能输入字符串 包括空格,
至于scanf的话 默认是以空格来分隔的 所以 带空格的字符就无法正确读取