如题所述
每次循环, 你的 getchar() 要读去一个字符。如果这个字符 不是 '\n', 你需要把它 “还” 回来,
否则 scanf( ..) 时 少了 一个 字符,若少的是空白符,则没有影响,若少了数字,就有影响。
通常,可以用:
int c;
while(1){
c = getc (stdin); // 读一个字符
if (c == '\n') break; // 如果是新行符,循环结束
else ungetc (c, stdin); //否则,放回去
scanf ( .....
}
否则 scanf( ..) 时 少了 一个 字符,若少的是空白符,则没有影响,若少了数字,就有影响。
通常,可以用:
int c;
while(1){
c = getc (stdin); // 读一个字符
if (c == '\n') break; // 如果是新行符,循环结束
else ungetc (c, stdin); //否则,放回去
scanf ( .....
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2015-12-14
j = i+ 1; 去掉 +1 方便 酒吧程序 贴上来 照片 不方便 测试