程序如下, tc3.0++环境,在程序执行完第二个for循环后(也就是输入stu[i].num 后),第三个循环根本不执行(也就是不执行输入stu[i].score的语句),就直接执行它后面的语句了,我用断点跟踪发现当程序执行到这个语句时出现“Scanf:floating point formats not linked.Abnormal program termination”的提示,但我还是不明白,请大家指示一下!
#include"stdio.h"
#include"string.h"
void main()
{ struct student
{ int num;
char name[20];
float score;
};
struct student stu[4];
struct student *p;
int i,temp=0;
float max;
for(i=0;i<4;i++)
scanf("%s",stu[i].name);
for(i=0;i<4;i++)
scanf("%d",&stu[i].num);
for(i=0;i<4;i++)
scanf("%f",&stu[i].score);
for(max=stu[0].score,i=1;i<4;i++)
if(stu[i].score>max)
{max=stu[i].score;temp=i;}
p=stu+temp;
printf("\nThe maximun score:\n");
printf("No.:%d\nname:%s\nscore:%f\n",p->num,p->name,p->score);
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货