0x17:指针练习:数组篇
指针数组练习,要求:
返回一个数组中所有元素被第一个元素除的结果
#include <stdio.h>
//返回一个数组中所有元素被第一个元素除的结果
void DivArray(int (*pArray)[],int n) //注1:指针数组一定是 (* 数组名)[] 可不要写成 int *数组名[] 会出大问题
{
int i;
int p;
p=(*pArray)[0];//注2:一开始想直接(*pArray)[i]/=(*pArray)[0];但是这么做会导致后面的数全部除的是1,毫无意义。这里我选择使用变量p来获取最初的数组第零个值,且必须是* pArray因为传递过来的是地址,不能直接p=pArray会出大问题
for(i=0;i<n;i++){
(*pArray)[i]/=p;
}
}
int main()
{
int Array[5]={3,6,9,12,15};
int i=0;
DivArray(&Array,5);
for(i=0;i<=4;i++){
printf("%d\n",Array[i]);
}
}
这里我把两个容易出错的地方已经在代码中标记出来了。