用指针比较三个数大小
时间: 2023-12-09 10:35:40 浏览: 181
以下是用指针比较三个数大小的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;
}
```
相关问题
c语言使用指针比较三个数大小
在 C 语言中,你可以使用指针来比较三个整型变量的大小。首先,你需要定义三个指向整数的指针,然后将变量的地址赋给它们。接下来,通过比较这三个指针的值,实际上就是比较它们所指向的数值。这里是一个简单的示例:
```c
#include <stdio.h>
int main() {
int a = 5, b = 7, c = 3; // 定义三个整数
int *ptr_a = &a;
int *ptr_b = &b;
int *ptr_c = &c;
if (*ptr_a < *ptr_b && *ptr_b < *ptr_c) {
printf("a is the smallest\n");
} else if (*ptr_b < *ptr_a && *ptr_b < *ptr_c) {
printf("b is the smallest\n");
} else {
printf("c is the smallest\n");
}
return 0;
}
```
在这个例子中,我们首先创建了三个整数变量 `a`、`b` 和 `c`,然后分别将其地址赋给了指针 `ptr_a`、`ptr_b` 和 `ptr_c`。接着通过 `if` 语句,比较这三个指针所指向的值,找出最小的那个。
运用指针比较三个数的大小
可以使用指针来比较三个数的大小,具体方法是先定义三个变量,然后定义三个指针指向这三个变量,再通过比较指针所指向的变量的值来确定大小关系。例如,可以定义 int a, b, c; int *p1 = &a, *p2 = &b, *p3 = &c; 然后通过比较 *p1, *p2, *p3 的值来确定大小关系。
阅读全文