#include < stdio.h >
#include < string.h >
int main()
{
unsigned char a;
FILE *P;
P=fopen("mola.txt","r");
while((a=getc(P))!=EOF)
printf("%c",a);
}
Run Code Online (Sandbox Code Playgroud)
这些代码有什么问题?当我编译它时会发出警告"由于数据类型的范围有限,比较总是如此." 这个警告意味着什么?
您将结果存储getc在a中char.它应该是一个int.它上面还有一个C FAQ.你也应该检查一下它的返回值fopen.
P=fopen("mola.txt","r");
if (NULL == P) {
perror("fopen"):
}
Run Code Online (Sandbox Code Playgroud)
while看起来也很腥.尝试缩进?
while((a=getc(P)) != EOF)
printf("%c",a);
Run Code Online (Sandbox Code Playgroud)