永发信息网

初学c语言数组,输入四个数,输出的为什么不对

答案:5  悬赏:70  手机版
解决时间 2021-01-11 14:02
  • 提问者网友:蓝莓格格巫
  • 2021-01-10 17:10
初学c语言数组,输入四个数,输出的为什么不对
最佳答案
  • 五星知识达人网友:北方的南先生
  • 2021-01-10 18:06
你还要给输入加个循环
for(i=0;i<4;i++)

{
scanf("%d",&a[i]);

}
要不然你里面有4个数据,但是你只输入了A[4]这一个数据,他怎么显示的了全部呢?
再说你下从0开始,你输出只能看到A[0]-A[3]所以你给A[4]复制你也看不到。追问为什么呢追答就是你原程序写的是给A[4]复制,你定义的是intA[4],里面确实有4个数据,但是A下标从0开始的
所以4个数据分别为A[0]-A[3]这4个数据,所以最后输出你只能看到这4个数据,A[4]你是看不到的;
全部回答
  • 1楼网友:等灯
  • 2021-01-10 19:45
scanf("%d",&a[4]);这行是不对的,首先a[4]就是不对的,只能到啊[3],其次,这语句只能输入一个数,应该用for语句输入,即:for(i=0;i<4;i++)
scanf("%d",&a[i]);
  • 2楼网友:毛毛
  • 2021-01-10 19:05
scanf("%d",&a[4]);你把所有的数输入到a【4】里了,你可以这样
for(i=0;i<4;i++)
scanf("%d",&a[i]);
要想连续输入的话可以用字符串与整型数之间的转换
char a[5];
int i;
scanf("%s",a);
for(i=0;i<4;i++)
printf("%c",a[i]);
  • 3楼网友:山君与见山
  • 2021-01-10 18:50
输入数组的方法错了,你这样只能输入一次,而且输入的是a[4],显然越界了
for(i=0;i<4;i++)
scanf("%d",a+i); //也可以写成 scanf("%d",&a[i]);
  • 4楼网友:琴狂剑也妄
  • 2021-01-10 18:35
数组越界了,而且不是输入4个数的。
==>
for(i=0;i<4;i++)
scanf("%d",&a[i]);追问越界了, 什么意思
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯