前言
将一维数组作为形参除了传递地址外,还需传递数组的长度,因为仅由函数名无法确定数组有多大。
代码实现
/*函数声明*/
void arr_invert(int arr[],int sz); //数组翻转函数
void my_printf(int arr[],int sz); //数组打印函数
int main()
{
int arr[] = {1,3,5,7,9};
int sz = sizeof(arr)/sizeof(arr[0]); //数组元素个数
my_printf(arr,sz);
arr_invert(arr,sz); //调用数组翻转函数
my_printf(arr,sz);
return 0;
}
/*函数定义*/
void arr_invert(int arr[],int sz)
{
int i,tmp;
for(i=0;i<sz/2;i++) // sz/2是交换次数
{
tmp = arr[i];
arr[i] = arr[sz-1-i];
arr[sz-1-i] = tmp;
}
}
void my_printf(int arr[],int sz)
{
int i = 0;
for(i=0;i<sz;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
}