C getchar()和putchar()

时间:2011-07-18 23:46:17

标签: c getchar putchar

通过K& R,我正试着绕过C. 我想编写一个程序,在屏幕上打印用户的上一行,除非该字符是“a”。

int main(){

int c;

while((c=getchar())!=EOF){

     if(c!='a')
            putchar(c);
}
return 0;
}

是的,该计划并不多。但它不会按预期工作。我是否需要使用字符“a”的ASCII值,因为上面的代码只打印所有字母而不管是否为。

1 个答案:

答案 0 :(得分:1)

代码应按指定的方式工作,但您会发现,使用带有while循环的getchar将在输入a时打印回车符。这是因为在当前实现中getchar将继续读取输入缓冲区,直到它为空,如果你想要阻止这种情况发生,你可以在if语句中刷新它。

此刻输入一串文字将打印删除任何* a * s

的字符串