首页 > 解决方案 > 以相反的顺序打印数组指针值

问题描述

我想反向打印指针数组值

#include <stdio.h>
#define size 5
int main()
{
  int a[size] = {1,2,3,4,5};
  int i;
  int *pa = a;
  for(i = size; i >0; i--)
  {
    printf("a[%d] = %d\n",i,*pa);
    pa++;
  }
  return 0;
}

输出:

a[5] = 1    
a[4] = 2
a[3] = 3    
a[2] = 4    
a[1] = 5

我想要的输出是:

a[5] = 5    
a[4] = 4    
a[3] = 3    
a[2] = 2    
a[1] = 1

标签: c

解决方案


用这个代替

#include <stdio.h>
#define size 5
int main()
{
  int a[size] = {1,2,3,4,5};
  int i;
  int *pa = (a+size-1);
  for(i = size; i >0; i--)
  {
    printf("a[%d] = %d\n",i,*pa);
    pa--;
  }
  return 0;
}

推荐阅读