在终端输入EOF

在终端输入EOF

问题

如下是一个计算校验和的程序,其中使用了while循环,需要在标准输入中读取到EOF才能跳出循环。

#include <stdio.h>

int main(){
    int checksum = 0;
    int ch = 0;
    while ((ch = getchar()) != EOF){
        checksum += ch;
        putchar(ch);
    }
    printf("\nchecksum = %d\n", checksum);
    return 0;
}

解决

Linux系统下,打开终端,执行代码,按ctrl + D则可以在终端中输入EOF了,并且会立即放进缓存中。
windows系统下,按ctrl + Z则可以在cmd输入EOF

posted @ 2020-08-07 09:23  桓公子  阅读(306)  评论(0)    收藏  举报