c语言的,问题,在线等待!!!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/09/20 23:38:07
main()
{ int i,a[4];
for(i=0;i<=3;i++)
scanf("%d",&a[i]);
}
能将输入的4个整数放入a数组里吗?
为什么运行后结果与输入的数直不一样?
我输入1,2,3然后按Enter
输出后是2993,460,0??

scanf("%d",&a[i]);
输入格式 %d 后面 加一个 空白
scanf("%d ",&a[i]);

输入数据 用空白分隔:
12 34 56 78

=======
输入1,2,3
输入格式 %d 后面 加一个 逗号
scanf("%d,",&a[i]);
输入数据 用逗号分隔

一点问题都没有啊,
加上
for(i=0;i<=3;i++)
printf("%d ",a[i]);
输出的结果跟输入的一样的啊

你是不是没有清空键盘缓冲区,
导致上一次输入数值时,最后输入的回车,
被当成本次的输入值写到数组中了?

这么改一下试一试:
#include<stdio.h>
main()
{ int i,a[4];
for(i=0;i<=3;i++)
{
fflush(stdin);
scanf("%d",&a[i]);
}
}

你这样输入就可以了:1按Enter
2按Enter
3按Enter
。。。

貌似这个函数运行后没有输出