关于一个奇怪的C语言程序

来源:百度知道 编辑:UC知道 时间:2024/05/29 20:08:59
完整的程序如下:
#include<stdio.h>
void main()
{
int a[10];
int m,i;
printf("Please input ten numbers:\n");
for(i=0;i<10;i++)
{
scanf("%d\n",&a[i]);
m=a[0];
}
for(i=1;i<10;i++)
{
if(a[i]>m) m=a[i];
}
printf("max number is %d\n",m);
}
这个程序要实现的功能是连续输入十个整数,然后输出最大值。然而程序的行为很古怪,当输入第十个数字时,并不会输出:“max number is ...”,而是要等输入第十一个数字时才会输出前十个数中的最大值。请高手指点!

我的建议是,你把scanf("%d\n",&a[i]); 改成scanf("%d",&a[i]);看看

这是我当时学C的时候,老师说的,scanf中最好不要加\n,有时会出意外的;

刚看了下楼上的,就是你输到第10个时,有没有按回车啊~~!

输入第十个数字后,再输入回车就行了