c语言中关于数组倒置问题

img

代码:
#include <stdio.h> 
#define SIZE 10
int main()
{
    int a[SIZE];
    for(int i=0; i<SIZE; i++)
    {
        a[i] = i;
        if(i == 0)
            printf("数值倒置前: ");
        printf("%d ", a[i]);
    }
    printf("\n");
    int tmp;
    for(int j=0; j<SIZE/2; j++)
    {
        tmp = a[j];
        a[j] = a[SIZE-j-1];
        a[SIZE-j-1] = tmp;
    }
    for(int k=0; k<SIZE; k++)
    {
        if(k == 0)
            printf("数值倒置后: ");
        printf("%d ", a[k]);
    }   
    printf("\n");
    return 0;
}


#include <stdio.h>
int main()
{
    int a[10];
    for(int i = 0; i < 10; ++i)
        a[i] = i;
    int i = 0, j = 9, temp ;
    while(i < j)
    {
        temp = a[i];
        a[i] = a[j];
        a[j] = temp;
        ++i,--j;
    }
    for(int i = 0; i < 10; ++i)
        printf("%d ",a[i]);
}