PAT的题。这个程序用于读取一些“姓名 编号 成绩”的数据。编号不超过十个字符。但当我输入的编号达到十的时候,会输出11个字符,例如:
请问问题出在哪里?
以下是代码:
#include<stdio.h>
#define MAX 10
struct stud
{
char name[MAX];
char NO[MAX];
int grade;
};
int main()
{
struct stud x1,n2,m3;
int n,i;
x1.grade=-1;
n2.grade=200;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s",m3.name);
scanf("%s",m3.NO);
scanf("%d",&m3.grade);
getchar();
if(x1.grade<m3.grade)
{
x1=m3;
}
if(n2.grade>m3.grade)
{
n2=m3;
}
}
printf("%s %s\n%s %s",x1.name,x1.NO,n2.name,n2.NO);
}