8、C语言中用数组名和指针变量作为形参

来源:互联网 发布:斯拉夫人知乎 编辑:程序博客网 时间:2024/06/04 19:31

#include <stdio.h>#include <stdlib.h>#define MAXSIZE 10//用数组名和指针变量作为形参//一般选择用指针型变量操作,而不用数组名作为形参。原因在数组名和指针变量的区别一文当中。//实现所有元素加1void fun1(int array[],int length){    int i=0;    for(;i<length;i++)    {        (*(array+i))++;//或者 array[i]++;    }}//实现所有元素减1void fun2(int *arr,int length){    int i=0;    for(;i<length;i++)    {        arr[i]--;//或者 *(arr+i)--;    }}int main(){    int arr[MAXSIZE]={1,2,4,7,6,7,2,7,4,5};    int i=0;    for(i=0;i<MAXSIZE;i++)    {        printf("arr[%d]=%d,",i,arr[i]);    }    printf("\b \n");    fun1(arr,MAXSIZE);    for(i=0;i<MAXSIZE;i++)    {        printf("arr[%d]=%d,",i,arr[i]);    }    printf("\b \n");    fun2(&arr[0],MAXSIZE);        for(i=0;i<MAXSIZE;i++)    {        printf("arr[%d]=%d,",i,arr[i]);    }    printf("\b \n");    return 0;}


程序运行结果:
arr[0]=1,arr[1]=2,arr[2]=4,arr[3]=7,arr[4]=6,arr[5]=7,arr[6]=2,arr[7]=7,arr[8]=4,arr[9]=5
arr[0]=2,arr[1]=3,arr[2]=5,arr[3]=8,arr[4]=7,arr[5]=8,arr[6]=3,arr[7]=8,arr[8]=5,arr[9]=6
arr[0]=1,arr[1]=2,arr[2]=4,arr[3]=7,arr[4]=6,arr[5]=7,arr[6]=2,arr[7]=7,arr[8]=4,arr[9]=5
Process returned 0 (0x0)   execution time : 0.608 s
Press any key to continue.