使用c语言 用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n和各整数在主函数中输入。最后在主函数中输出。
时间: 2024-03-14 10:44:32 浏览: 138
以下是使用指向指针的指针的方法对n个整数排序并输出的代码:
```c
#include <stdio.h>
void sort(int **pp, int n) {
int *temp;
for(int i = 0; i < n; i++) {
for(int j = 0; j < n - 1 - i; j++) {
if(*pp[j] > *pp[j + 1]) {
temp = pp[j];
pp[j] = pp[j + 1];
pp[j + 1] = temp;
}
}
}
}
int main() {
int n;
scanf("%d", &n);
int *p[n];
for(int i = 0; i < n; i++) {
p[i] = (int *)malloc(sizeof(int)); // 为每个指针分配内存
scanf("%d", p[i]);
}
sort(p, n);
for(int i = 0; i < n; i++) {
printf("%d ", *p[i]); // 输出指针所指向的值
free(p[i]); // 释放内存
}
return 0;
}
```
在sort函数中,我们使用指向指针的指针pp来表示指针数组p的首地址,并使用*pp[j]来获取p[j]所指向的整数值。在主函数中,我们先读入n,然后使用动态内存分配函数malloc为每个指针分配内存,并读入各整数。最后调用sort函数对指针数组进行排序,并输出排序后的结果。注意,使用动态内存分配函数malloc分配内存时,需要在程序结束前使用free函数释放内存。
阅读全文