c语言 数组元素交换 交换数组第一个位置和最后一个位置的数,输出交换后数组,求大神帮忙看看该怎么改

#include<stdio.h>
int main()
{
int n,i,j,b,c;
scanf("%d",&n);
int a[n];
for(i=0;i<=n;i++)
{
scanf("%d",&a[i]);
}
b=a[1];
c=a[n];
a[1]=c;
a[n]=b;
for(j=0;j<=n;j++)
{
printf("%d,",a[j]);
}
return 0;
}

首先,这是对数组使用的概念上理解错了。数组a[n]可用的数组元素一共有n个,从a[0]开始到a[n-1]结束,下面的图是修改以后的程序。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-04-05
for(i=0;i<=n;i++) ,i<=n改为i<n。
下标范围是0到n-1,共n个元素。
for(j=0;j<=n;j++)也一样。
第2个回答  2019-04-05
好吧,这个问题懒你怎么看,你歇会吧硝化细菌大家好相机第几集很喜欢喜欢星级酒店几点几小鸡小鸡大家觉得就到家等级,不喜欢回到家大家都觉得年纪。
相似回答