【发布时间】:2018-10-11 06:53:02
【问题描述】:
我无法理解代码中的错误。 此代码中没有输出。错误是什么。
检查了 .dat 文件,它包含数据。
代码:
#include <stdio.h>
int main()
{
FILE *patPtrR;
char name[50];
int pCount,i,c[8];
float total,avg;
patPtrR = fopen("count.dat","r");
if (patPtrR == NULL)
{
printf("\nError..\n");
return -1;
}
fscanf(patPtrR, "%s %d %d %d %d %d %d %d %d", name,c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7]);
printf("%s",name);
while (!feof(patPtrR))
{
for(i=0;i<8;i++)
{
total += c[i];
}
avg = total /8.0;
printf("Name: %s\n",name);
if (avg < 20)
printf("Severe dengue\n");
else if (avg > 20 && avg < 50)
printf("Moderate denge\n");
else if (avg > 50 && avg < 100)
printf("Mild dengue\n");
fscanf(patPtrR,"%s %d %d %d %d %d %d %d %d",name,c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7]);
}
fclose(patPtrR);
return 0;
}
这段代码有什么问题。我无法得到任何输出。
B 部分没有输出。
需要将结果与名称一起输出。
b部分没有输出
【问题讨论】:
-
欢迎来到 stackoverflow.com。请花点时间阅读the help pages,尤其是名为"What topics can I ask about here?" 和"What types of questions should I avoid asking?" 的部分。也请take the tour 和read about how to ask good questions。最后请阅读this question checklist。
-
最重要的是:请提出问题独立,不要链接到可能过时的外部网站(并使问题变得毫无价值)。
-
本网站不适合从头开始回答。进行一些开发,如果您遇到困难,请在此处询问您的问题。我们可以提供帮助
-
1.您应该检查
fscanf的返回值,而不是使用feof。c[0]c[1]等没有使用 & 运算符。
标签: c file-handling