程序如下, 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);
     }