如何退出while循环?

kd1*_*d11 4 c while-loop

#include <stdio.h>
main(void) {
   char ch;
   while (1) {   
      if ((ch = getchar()) != EOF) 
      {
         break;
      }
      putchar(ch);
   }
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

我怎么逃避这个while?我曾尝试使用EOF但它没有用.

Dav*_*rtz 7

我想你的意思是:

int ch;
Run Code Online (Sandbox Code Playgroud)

因为EOF不适合char.

也:

if ((ch=getchar()) == EOF)
       break;
Run Code Online (Sandbox Code Playgroud)

你的逻辑是倒退的.