1、实现函数action()初始化数据全0的操作
2、实现函数assignment()利用指针给数组赋值0~9
3、实现函数print()打印数组的每个函数
4、实现函数reverse()完成对数组的逆置
代码有点长,还不知道怎么截取哈,看来还得去学一哈剪辑这块。
void action(int *p, int sz)
{
int i = 0;
for (i = 0; i < 10; i++)
{
*(p + i) = 0;//初始化
printf("%d\t", *p);
}
printf("\n");
}
void assignment(int *p, int sz)//传进去的是初始化后的数组
{
int i = 0;
for (i = 0; i < 10; i++)
{
*(p + i) = i;//按顺序排列输出数字0-9,不打印
}
}
void print(int *p, int sz)
{
int i = 0;
for (i = 0; i < 10; i++)
{
printf("%d\t", *(p + i));//打印一下数组
}
printf("\n");
}
void reverse(int *p, int sz)
{
int i = 0;
for (i = 0; i < 5; i++)
{
int tmp = 0;//交换循序,最后一个到第一个
tmp = *(p + i);
*(p + i) = *(p + sz - 1 - i);//最后一个数的下标
*(p + sz - 1 - i) = tmp;
}
for (i = 0; i < 10; i++)
{
printf("%d\t", *(p + i));
}
printf("\n");
}
int main()
{
int arr[10] = { 1, 2, 2, 4, 5, 3, 0, 1, 6, 4 };
int sz = sizeof(arr) / sizeof(arr[0]);
action(arr, sz);//实现函数action()初始化数据全0的操作
assignment(arr, sz);//实现函数assignment()利用指针给数组赋值0~9,不打印
print(arr, sz);//实现函数print()打印数组的每个函数
reverse(arr, sz); //实现函数reverse()完成对数组的逆置
return 0;
}
结果还算理想: