为什么我的循环不起作用?

eff*_*tom -1 c

为什么以下代码不能一次打印一个文件中的字符?

FILE *fp;
int c;

fp = fopen("/tmp/input_file", "r");

while(c = getc(fp) != EOF) {
      printf("%c", c); 
} 
Run Code Online (Sandbox Code Playgroud)

Nel*_*son 6

c赋值语句周围使用parens,因为!=operator优先于=operator:

while((c = getc(fp)) != EOF) {
Run Code Online (Sandbox Code Playgroud)

  • 那么,你只是给出了答案,就把这里的学习机会带走了.尼斯. (3认同)