a98 发表于 2018-2-15 02:39:43

关于指针的小问题~将数组的前n个数逆置,输出整个数组。

本帖最后由 a98 于 2018-2-15 02:58 编辑

#include<stdio.h>

void change(int arr[], int m);
void main()
{
        int a, i, n;
        for(i = 0;i < 10; i++)
        {
                scanf("%d", &a);
        }
        printf("please input n: \n");
        scanf("%d", &n);

        change(a, n);
        for(i = 0;i < 10; i++)
        {
                printf("%d ", a);
        }
}
void change(int arr[], int m)
{
        int i;
        int temp;
        int *z;
        for(i = 0 ; i < m; i++)       //将arr数组复制一份到temp
        {
                temp = arr;
        }
        z = temp;      //指针z指向temp
        for(i = 0 ; i <= m ; i++)
        {
                arr = *(z-i);       //将前m个数逆置赋值覆盖在arr[],实现arr数组前m个元素逆置
        }
}











看样子应该是change函数有错,但是我改不过来,看着感觉没啥问题。


请教各位大神。

wjp 发表于 2018-2-15 06:31:07

      z = temp;      //指针z指向temp这里错了吧temp数组元素不是地址吧

a98 发表于 2018-2-15 22:38:47

wjp 发表于 2018-2-15 06:31
z = temp;      //指针z指向temp这里错了吧temp数组元素不是地址吧

嗯对 谢谢
页: [1]
查看完整版本: 关于指针的小问题~将数组的前n个数逆置,输出整个数组。