srand(time(NULL));//随机数发生器int ret =rand()%20//产生随机数 用ret变量接收, 并控制范围为 0 ~ 19intarr_init(int*p,int n){srand(time(NULL));int i;for(i =0; i < n; i++){
p[i]=rand()%21;}}intarr_show(int*p,int n){int i;for(i =0; i < n; i++){printf("%d\t", p[i]);}puts("");return0;}intarr_sort(int*p,int n){int i, j;for(i =0; i < n -1; i++){for(j =0; j < n - i -1; j++){if(p[j]> p[j+1]){int temp;
temp = p[j];
p[j]= p[j +1];
p[j +1]= temp;}}}}intmain(int argc,char*argv[]){int a[5]={1,2,3,4,5};int b[10]={1,2,3,4,5,6,7,8,9,10};arr_init(b,10);arr_show(b,10);arr_sort(b,10);arr_show(b,10);//arr_show(b,sizeof(b) / sizeof(int) );return0;}
2.传二维数组
传的是行地址。
intarr_show(int a[3][4], int h,int l);intarr_show(int a[][4], int h,int l);intarr_show(int(*p)[4], int h,int l);
传一级指针
intarr_show(int*p,int n);
3.全局变量传参
在函数里,如果全局变量和局部变量名字相同,会优先使用局部变量
全局变量和局部变量名字不相同,或没有变量的定义,使用全局变量。
int a =10;voidfunc1(int a){
a =20;}voidfunc2(){
a =100;}intmain(int argc,char*argv[]){printf("%d\n", a);func1(1314);printf("%d\n", a);func2();printf("%d\n", a);return0;}