通过K&R,我试图理解C。我想写一个程序,在屏幕上打印用户的前一行,除非字符是"a“。
int main(){
int c;
while((c=getchar())!=EOF){
if(c!='a')
putchar(c);
}
return 0;
}是的,程序不是很多。但它不会像预期的那样工作。我是否需要使用字符"a“的ASCII值,因为上面的代码只打印所有字母,而不管是不是a。
发布于 2011-07-19 07:50:45
代码应该可以按照指定的方式工作,但是您会发现,使用带有while循环的getchar将在输入a时打印一个回车符。这是因为在当前的实现中,getchar将一直读取输入缓冲区,直到它为空,如果你想阻止这种情况发生,你可以在if语句中刷新它。
此时输入文本字符串将打印出删除所有*a*s的字符串
https://stackoverflow.com/questions/6740759
复制相似问题