一维数组内数字反转
代码:
#include <stdio.h>
//指针与数组的使用--反转
void initarry(int *parry,int size)//*parr指针就是地址,下面将地址传给*parr指针变量,要加*
{
int i;
for(i=0;i<size;i++){
printf("请输入第%d个数据\n",i+1);
scanf("%d",parry++);//parry本身是个地址,不用加&符号
}
putchar('\n');
}
void reverarry(int *parry,int size)
{
int i;
int j;
int data;
printf("反转数组为\n");
for(i=0;i<size/2;i++){
j=size-1-i;
data=*(parry+i); //数组:parry[i]=*(parry+i):取并加i
*(parry+i)=*(parry+j);
*(parry+j)=data;
printf("%d ",*parry++);//*取地址parry
}
putchar('\n');
}
void printarry(int *parry,int size)
{
int i;
printf("数组为\n");
for(i=0;i<size;i++){
printf("%d ",*parry++);//*取地址parry
}
putchar('\n');
}
int main()
{
int arry[3];
int size=sizeof(arry)/sizeof(arry[0]);
initarry(&arry[0],size);//&直接把数组的首地址给传参数
printarry(&arry[0],size);
reverarry(&arry[0],size);
printarry(&arry[0],size);
return 0;
}