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]); } }
这里我把两个容易出错的地方已经在代码中标记出来了。