关于指针的小问题~将数组的前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函数有错,但是我改不过来,看着感觉没啥问题。
请教各位大神。
z = temp; //指针z指向temp这里错了吧temp数组元素不是地址吧 wjp 发表于 2018-2-15 06:31
z = temp; //指针z指向temp这里错了吧temp数组元素不是地址吧
嗯对 谢谢
页:
[1]