用指针将三个数按大小顺序输出
时间: 2024-02-23 10:58:50 浏览: 14
好的,以下是一个简单的实现,使用指针对三个数进行排序,并按大小顺序输出它们:
```c
#include <stdio.h>
void sort(int *a, int *b, int *c)
{
int tmp;
if (*a > *b) {
tmp = *a;
*a = *b;
*b = tmp;
}
if (*a > *c) {
tmp = *a;
*a = *c;
*c = tmp;
}
if (*b > *c) {
tmp = *b;
*b = *c;
*c = tmp;
}
}
int main()
{
int a, b, c;
printf("请输入三个整数: ");
scanf("%d %d %d", &a, &b, &c);
sort(&a, &b, &c);
printf("按大小顺序输出: %d %d %d\n", a, b, c);
return 0;
}
```
在这个程序中,我们使用 `sort()` 函数对三个整数进行排序。该函数使用指针参数,以便在函数内部修改原始变量的值。我们首先比较 `a` 和 `b`,如果 `a` 大于 `b`,则交换它们的值。然后我们比较 `a` 和 `c`,如果 `a` 大于 `c`,则交换它们的值。最后,我们比较 `b` 和 `c`,如果 `b` 大于 `c`,则交换它们的值。
在 `main()` 函数中,我们使用 `scanf()` 从用户那里获取三个整数。然后,我们将变量 `a`、`b` 和 `c` 的地址传递给 `sort()` 函数,以便在函数内部对它们进行排序。最后,我们按大小顺序输出三个整数。