i不应该既做循环变量,又做学号变量,应当用另一个变量接收学号,因为你输入的学号是在给i赋值,例如,当i=0时,你输入的学号为34,则i=34,此时的循环中i就变成了34,执行完i++之后,i=35,所以才会出现你这种情况。
for(i=1;i<=50;i++)
{
scanf("%d,%d',&n,&d);
if( m>=80)
printf("成绩”.....
}
或者
int m[51],d[51],i ;
for(i=1;i<=50;i++)
{
scanf("%d,%d',m+i,d+i);
}
for(i=1;i<=50;i++)
{
if( m[i]>=80)
printf("成绩=%d, 学号=%d”,m[i],d[i] );
}