创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。 要求:自己设计函数的参数,返回值。
知识点:函数的调用,想扎实基础的可以了解下实参、形参和形参实例化
memset() //void * memset ( void * ptr, int value, size_t num );* 注意:这有个坑,memset是以字节为单位进行操作的 *
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int init(int arr[], int num);
void memset1(int arr[], int num);
int reverse(int arr[], int num);
int main()
{
int arr[] = { 1,2,3,4,5,6 }; //起始数组
int num = sizeof(arr) / sizeof(arr[0]); //数组长度
memset1(arr, num);
init(arr, num);
reverse(arr, num);
return 0;
}
int init(int arr[], int num)
{
int i;
for (i = 0; i < num; i++)
{
arr[i] = i;
printf("%2d", arr[i]);
}
printf("\n");
return 0;
}
void memset1(int arr[], int num)
{
memset(arr, 0, sizeof(arr[0]) * num);
int i;
for (i = 0; i < num; i++)
{
printf("%2d", arr[i]);
}
printf("\n");
}
int reverse(int arr[], int num)
{
int i;
for (i = 0; i < num / 2; i++)
{
arr[i] = arr[i] ^ arr[num - i - 1];
arr[num - i - 1] = arr[i] ^ arr[num - i - 1];
arr[i] = arr[i] ^ arr[num - i - 1];
}
for (i = 0; i < num; i++)
{
printf("%2d", arr[i]);
}
printf("\n");
return 0;
}