【发布时间】:2013-01-17 22:22:04
【问题描述】:
有以下功能:
void readAndPrint(FILE * f) {
int c;
while(c = fgetc(f) != EOF) {
printf("%d", c);
}
}
在 main() 主体中,我使用以下代码来使用上述函数:
FILE * pFile;
pFile=fopen ("myfile.txt","r");
readAndPrint(pFile)
;
无论我在 myfile.txt 中输入什么,程序都会打印出来。 例如,对于 abc,打印出 111。
我知道函数中的 c 应声明为 int 以正确地将其与 EOF 进行比较。另外,我希望打印出文本文件中每个字符的 ASCII 集的 int 代码(97 表示 a,...)。我无法弄清楚为什么它会打印出'ones'......你知道原因吗?提前谢谢你。
【问题讨论】: