冒泡的问题
冒泡代码如下:#include<stdio.h>
#define N 3
int main(void)
{
int a[N];
int i, j, temp;
for(i = 0; i < N; i++)
scanf("%d ", &a[i]);
for(i = 0; i < N; i++)
{
for(j = i + 1; j < N; j++)
{
if(a[i] < a[j])
{
temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}
}
for(i = 0; i < N; i++)
printf("%d ",a[i]);
return 0;
}
我数组输入格式是%d后加了个空格。结果必须输入比N多一个数才能回车运行,谁能解释下是为什么?