循环从不停止

3 c infinite-loop while-loop

我有这个程序用于通过char我的文件读取char并在监视器上打印出来:

#include<stdio.h>

int main()
{
    unsigned char mychar;
    FILE *fp;
    fp=fopen("test.txt", "r");
    while((mychar = getc(fp))!=EOF)
        printf("%c", mychar);
    fclose(fp);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

它打印我的文件然后继续循环.你能帮助我吗?

gra*_*upa 6

EOF有价值-1 那么,你为什么宣称mycharunsigned char

请改变:

int main()
{
    int mychar;
    FILE *fp;
    fp=fopen("test.txt", "r");
    while((mychar = getc(fp))!=EOF)
        printf("%c", mychar);
    fclose(fp);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)