用指针比较三个数大小
时间: 2023-12-09 21:35:40 浏览: 89
以下是用指针比较三个数大小的C语言代码实现,其中使用了指针作为形参,通过指针间接访问变量的值,实现了三个数的比较和交换,最终输出由小到大的结果:
```c
#include <stdio.h>
//定义数据交换函数,指针作为形参
void swap(int *s1, int *s2){
int t;//中间变量,临时存储
t = *s1;
*s1 = *s2;
*s2 = t;
}
int main(){
int a, b, c;//定义三个数据
int *p1, *p2, *p3;//定义3个 int型指针
printf("输入 a, b ,c :");//信息提示
scanf("%d %d %d", &a, &b, &c);//读取数据
p1 = &a;
p2 = &b;
p3 = &c;//取地址初始化指针
//比较大小
if(*p1 > *p2){
swap(p1, p2);
}
if(*p1 > *p3){
swap(p1, p3);
}
if(*p2 > *p3){
swap(p2, p3);
}
printf("由小到大为:%d %d %d\n", a, b, c);//输出结果
return 0;
}
```
相关问题
运用指针比较三个数的大小
可以使用指针来比较三个数的大小,具体方法是先定义三个变量,然后定义三个指针指向这三个变量,再通过比较指针所指向的变量的值来确定大小关系。例如,可以定义 int a, b, c; int *p1 = &a, *p2 = &b, *p3 = &c; 然后通过比较 *p1, *p2, *p3 的值来确定大小关系。
C语言用指针写三个数比大小
好的,让我来为你解答这个问题。以下是通过指针比较三个数大小的代码:
```
#include <stdio.h>
void GetMax(int* a, int* b, int* c)
{
int max = *a;
if (*b > max)
{
max = *b;
}
if (*c > max)
{
max = *c;
}
printf("最大的数是:%d\n", max);
}
int main()
{
int a, b, c;
printf("请输入三个整数:\n");
scanf("%d %d %d", &a, &b, &c);
GetMax(&a, &b, &c);
return 0;
}
```
可以看到,该程序通过指针获取三个数的值,并比较大小,输出最大的数。指针的使用在C语言中非常重要,它可以大大提高程序的效率和灵活性。希望这个示例能够对你有所帮助。如果你有更多的问题,可以继续问我。