按以下要求编写程序,练习指针的定义与使用,上机运行观察分析结果。 输入3个整数,按由小到大的顺序输出。
时间: 2024-05-07 09:23:42 浏览: 53
输入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串, 按由小到大的顺序输出
以下是程序实现:
```c
#include <stdio.h>
void sort(int *a, int *b, int *c);
int main()
{
int num1, num2, num3;
printf("请输入三个整数:\n");
scanf("%d%d%d", &num1, &num2, &num3);
sort(&num1, &num2, &num3);
printf("从小到大排序的结果为:%d %d %d\n", num1, num2, num3);
return 0;
}
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;
}
}
```
程序中定义了一个 `sort` 函数,参数是三个整型指针,表示需要排序的三个数。函数中利用指针比较大小,实现了从小到大排序,排序后的结果通过指针修改了原来的数值。
在 `main` 函数中,首先输入三个整数,然后调用 `sort` 函数进行排序,最后输出排序后的结果。
这里需要注意的是,如果直接传入变量的值,那么在函数内部对这些变量的修改不会影响到原来的值。因此,我们需要传入指向这些变量的指针,通过指针修改变量的值,才能实现排序的目的。
阅读全文