镜像对调相关问题有些疑问

img

img

img

img


问一下,为什么第一张图的运行结果就是第三张图,第二张图不能这么运行呢

仅供参考,望采纳~

#include <stdio.h>
#define MAX 10
int main(void)
{
    int i=0,temp,n,mid;
    int a[MAX];
    printf("Enter n:");
    scanf("%d",&n);
    int n0=n;//暂存输入的个数,因为n--会改变n的值,最后输出时不能使用n
    printf("Enter %d number:",n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    mid=n/2;   //n-1会少镜像中间的两个
    for(i=0;i<mid;i++)
    {
        temp=a[i];
        a[i]=a[n-1];
        a[n-1]=temp;
        n--;
    }
    for(i=0;i<n0;i++)
    {
        printf("%4d",a[i]);
    }
    return 0;
}

img

看你图二的想法修改的