数组元素倒转 存储

来源:百度知道 编辑:UC知道 时间:2024/05/12 17:54:06
#define N 5
main()
{int a[N],i,temp;
printf("\n input original array:\n");
for(i=0;i<N;i++) scanf("%d",&a[i]);
for(i=0;i<N/2;i++)
{temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}
printf("\n reverse array:\n");
for(i=0;i<N;i++) printf("%4d",a[i]);
}

这个程序对吗,如果对请给我解释下for(i=0;i<N/2;i++);是什么意思我没看懂。我怀疑for(i=0;i<N/2;i++);应该改成for(i=0;i<N;i++);

这个程序是正确的,for(i=0;i<N/2;i++);{temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}意思是数组的前半部分 与 后半部分交换,如果像你所说改为for(i=0;i<N;i++);结果将是倒转了之后又倒转了回来,所以数组元素的顺序将不会改变;