用指向指针的指针方法对n个整数排序并输出
时间: 2023-04-22 19:04:33 浏览: 248
这里提供一种用指向指针的指针方法对n个整数排序并输出的示例代码:
```
#include <stdio.h>
void sort(int **p, int n) {
int i, j;
int *temp;
for (i = ; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (**(p + i) > **(p + j)) {
temp = *(p + i);
*(p + i) = *(p + j);
*(p + j) = temp;
}
}
}
}
int main() {
int n, i;
printf("请输入整数个数:");
scanf("%d", &n);
int a[n];
int *p[n];
printf("请输入%d个整数:", n);
for (i = ; i < n; i++) {
scanf("%d", &a[i]);
p[i] = &a[i];
}
sort(p, n);
printf("排序后的结果为:");
for (i = ; i < n; i++) {
printf("%d ", *p[i]);
}
printf("\n");
return ;
}
```
该程序首先通过指针数组p将输入的n个整数的地址存储起来,然后调用sort函数对这些地址进行排序,最后输出排序后的结果。sort函数中使用了指向指针的指针,即p是一个指向指针的指针数组,可以通过*p[i]和**(p+i)来访问数组元素和数组元素指向的值。
阅读全文