解题思路:
第一:本题是 使用函数 针对数组 进行操作,所以在传参的时候切记: 数组传参传的是数组首元素的地址,而不是数组内容/大小,如果函数内部需要用到数组大小,那么必须在函数外部计算出数组大小然后再进行传参。
第二:Init( ) 函数初始化数组,即:给数组中每一个元素赋值,下面代码是使用一个 for 循环将数组初始化为 1-10 的数字。
第三:Reverse( ) 函数实现数组元素逆置,这里定义左右下标然后交换两个元素的方法实现数组元素的逆置。
第四:Empty( ) 函数清空数组,可以理解为将数组初始化为全 0。
具体代码实现:
#include<stdio.h>
#include<stdlib.h>
// 定义 Init( ) 函数完成对数组的 初始化
void InitArr(int arr[], int sz)
{
int i = 0;
// 采用 for 循环将数组初始化为 1-10
for (i = 0; i < sz; i++)
{
arr[i] = i + 1;
}
}
// 定义打印数组的函数
void PrintArr(int arr[], int sz)
{
int i = 0;
for (i = 0; i < sz; i++)
{
// 打印下标为 i 的元素
printf("%d ", arr[i]);
}
printf("\n");
}
// 定义 reverse( ) 函数完成对数组元素的逆置
void ReverseArr(int arr[], int sz)
{
int left = 0; // 左下标
int right = sz - 1; /