void read_input(FILE* inputfile,char array[]) {
int nscan;
char termch;
while(TRUE) {
nscan = fscanf(inputfile,"%30[^\n]%c",array,&termch);
if (nscan == EOF)
break;
if (nscan != 2 || termch != '\n' ){
printf("error \n");
}
}
}
这是我的代码,请任何人帮我找出为什么它显示 error
我添加的消息,因为 nscan
的值是2吗?
最佳答案
这个:
if (nscan != 2 || termch != '\n' ){
printf("error \n");
}
说:
如果 nscan
不是 2 打印错误。如果 termch
不是换行符,打印错误。这是因为您正在使用 OR 逻辑运算符 ||
。这解释了您得到的行为。
因此,如果您想查看更多信息,只需在到达 if 语句之前打印两个变量的值。当然,termch
与换行符不同。
关于c - 使用文件从数组中删除空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34422538/