4.创建一个数组,

实现函数init()初始化数组、

实现empty()清空数组、

实现reverse()函数完成数组元素的逆置。

要求:自己设计函数的参数,返回值。


#include <stdio.h>

//数组变化

void init(int arr[],int len)

//数组初始化

{

int i=0;

int num=0;

printf("初始化数组。\n");

for(i=0;i<len;i++)

{

scanf("%d",&num);

arr[i]=num;

}

}

void empty(int arr[],int len)

//清空数组

{

int i=0;

printf("清空数组:\n");

for(i=0;i<len;i++)

{

arr[i]=0;

}

}


void reverse(int arr[],int len)

//数组元素逆置

{

int arr2[5]={0,0,0,0,0};

int i=0;

printf("数组元素逆置:\n");

for(i=0;i<len;i++)

{

arr2[i]=arr[i];

}

for(i=0;i<len;i++)

{

arr[i]=arr2[len-1-i];

}

}


int main()

{

int arr[5]={1,2,3,4,5};

int i=0;

int len=sizeof(arr)/sizeof(arr[0]);

init(arr,len);

for(i=0;i<len;i++)

{

printf("%d ",arr[i]);

}

printf("\n");


reverse(arr,len);

for(i=0;i<len;i++)

{

printf("%d ",arr[i]);

}

printf("\n");


empty(arr,len);

for(i=0;i<len;i++)

{

printf("%d ",arr[i]);

}

printf("\n");


return 0;

}


    调用数组时,传递的参数是数组首元素的地址,形式为*arr或arr[],其中arr为数组名。在函数体中,直接对数组的下标进行变化,直接改变的就是数组内容。