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为数组名。在函数体中,直接对数组的下标进行变化,直接改变的就是数组内容。