宇轩宇轩! 发表于 2020-12-19 15:15:11

指针数组逆序存放

从键盘上输入n(n≤20)个整数存入一维数组,用指针变量表示数组元素的方式将其逆序存放,然后输出。注意,实现该算法时不允许再定义数组

jackz007 发表于 2020-12-19 15:32:27

#include <stdio.h>

int main(void)
{
      int d , i , n , * p = d                           ;
      scanf("%d" , & n)                                       ;
      for(i = 0 ; i < n ; i ++) scanf("%d" , p + (n - i - 1)) ;
      printf("%d" , d)                                     ;
      for(i = 1 ; i < n ; i ++) printf(" , %d" , d)      ;
}
      编译、运行实况
D:\00.Excise\C>g++ -o x x.c

D:\00.Excise\C>x
15
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
15 , 14 , 13 , 12 , 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1
D:\00.Excise\C>

风过无痕1989 发表于 2020-12-19 18:32:28

本帖最后由 风过无痕1989 于 2020-12-19 19:47 编辑

下面的程序通过 VS2015 的调试,运行正常
#include <stdio.h>

int main()
{
        int arr, i, n, temp, *p;
        p = arr;
        scanf("%d", &n);
        for (i = 0;i < n;i++)
        {
                scanf("%d", p + i);
        }

        for (i = 0;i <= n / 2;i++)
        {
                temp = *(p + i);
                *(p + i) = *(p + n - i - 1);
                *(p + n - i - 1) = temp;
        }

        for (i = 0;i < n;i++)
                printf("%d ", *(p + i));
        printf("\n");
}

风过无痕1989 发表于 2020-12-19 19:48:52

程序调试好了

宇轩宇轩! 发表于 2020-12-19 23:11:27

本帖最后由 宇轩宇轩! 于 2020-12-19 23:15 编辑

可以了 谢谢
页: [1]
查看完整版本: 指针数组逆序存放