这个是问题
if(getchar()=='n'); <----------------------------------------------这里!!!
{
break;
}
额,如果解决完了上面的问题 那我还想问问这个我代码中的getchar()语句不加也可以,但是我看一个人的博客上他每次都加,想问问有没有必要性。
万分感谢。。。。
下面是源代码:
int type_in()
{
char c;
FILE *fp;
if((fp=fopen("d:\\student.txt","w"))==NULL)
{
printf("文本打开失败!");exit(0);
}
while(1)
{
printf("第%d个学生的:\n",num+1);
printf("学号:");scanf("%s",&s[num].id); getchar();//疑问如果加或不加有没有区别getchar搜索
printf("姓名:");scanf("%s",&s[num].name); getchar();
printf("语文:");scanf("%f",&s[num].number1); getchar();
printf("数学:");scanf("%f",&s[num].number2); getchar();
printf("英语:");scanf("%f",&s[num].number3); getchar();
s[num].avg=average(s[num]);
fprintf(fp,"学号:%s 姓名:%s 语文:%.2f 数学:%0.2f 英语:%.2f 平均成绩:%.2f\n",s[num].id,s[num].name,s[num].number1,s[num].number2,s[num].number3,s[num].avg);
/*
不管是fprintf还是fscanf中的的双引号中的 “学号:%s 姓名:%s 语文:%.2f 数学:%0.2f 英语:%.2f 平均成绩:%.2f\n”
之间都要加空格(在每个格式控制符的后面加),我也不知道为什么,但是不加的话会出现错误。
*/
num++;
printf("是否继续(y/n):");
if(getchar()=='n'); <----------------------------------------------------------------这里!!!
{
break;
}
}
fclose(fp);
}
额,再补充一下我是想要当我每次输入一个完一个信息后它询问我是否继续,如果是n那么就退出了。
额,是我白痴,没看到,多谢了,那如果解决完了上面的问题 那我还想问问这个我代码中的getchar()语句不加也可以,但是我看一个人的博客上他每次都加,想问问有没有必要性。
万分感谢。。。。