我不明白 我尝试编写一个程序来消除空格:
int c;
c = getchar();
while (c!= EOF) {
//do things
}
上面的代码导致很多第一个输入字符输出到屏幕, 但
while ((c = getchar()) != EOF)
解决了这个问题
为什么呢?
如何调试以更好地理解这一点?
答案 0 :(得分:0)
while ((c = getchar()) != EOF)
解决了问题
getchar()
,而在第一个代码中您不是。试试这个
#include <ctype.h>
#include <stdio.h>
void removeSpaces()
{
do {
chr = getchar();
} while ((chr != EOF) && (isspace(chr) != 0));
}
然后只要你想删除空格就调用removeSpaces()
。