定义长度为3的整型数组,采用函数调用实现按照从大到小的顺序排序。在主函数中输出排序前和排序后的数组,实参为指针变量,形参为指针变量
时间: 2024-03-20 16:43:24 浏览: 70
长整数类,数据成员有一个指针,一个整数size,可以存放100位以上整数,可以做加法乘法运算.zip
好的,这是一个C语言的问题,我来给你解答一下。
首先,我们需要定义一个长度为3的整型数组:
```
int arr[3] = {3, 1, 2};
```
然后,我们可以写一个函数来实现按照从大到小的顺序排序,函数的参数是一个指向整型数组的指针:
```
void sort(int *arr) {
int temp;
for (int i = 0; i < 3; i++) {
for (int j = i + 1; j < 3; j++) {
if (*(arr + i) < *(arr + j)) {
temp = *(arr + i);
*(arr + i) = *(arr + j);
*(arr + j) = temp;
}
}
}
}
```
这个函数中,我们使用了冒泡排序的方法,把数组中的元素从大到小排序。注意,在函数中使用指针变量来访问数组元素时,需要使用指针加上偏移量的方式来访问,也就是 `*(arr + i)` 的形式。
最后,我们在主函数中调用这个函数,并输出排序前和排序后的数组:
```
int main() {
int arr[3] = {3, 1, 2};
printf("排序前:");
for (int i = 0; i < 3; i++) {
printf("%d ", arr[i]);
}
printf("\n");
sort(arr);
printf("排序后:");
for (int i = 0; i < 3; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
运行程序,输出结果如下:
```
排序前:3 1 2
排序后:3 2 1
```
这就是按照从大到小的顺序排序的结果了。
阅读全文