ENTER执行程序而不是创建换行符

时间:2017-06-30 20:31:30

标签: c console

按照Kernighan和Ritchie的 The C Programming Language 一书,我正在尝试以下练习:

练习1-12 编写一个程序,每行输出一个单词。

这是我的代码:

main(){

int b;

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

    if(b != ' ' || b != '\t' || b != '\n')
        putchar(b);

    if(b == ' ' || b == '\t' || b == '\n')
        printf("\n");
    }

}

我的问题是按 ENTER 来获取换行符执行代码而不是仅仅在控制台中给我一个换行符。

不应该只是EOF这样做吗?否则,程序运行正常。

编辑:根据我的理解,这不是Why non-equality check of one variable against many values always returns true? 的副本,虽然我应该使用“&&”而不是“||”,问题仍然存在。当我在控制台中按ENTER键时,程序执行而不是给我换行。如果我错了,请纠正我。

0 个答案:

没有答案