怎么用指针比较两个数的大小
时间: 2023-12-12 15:35:15 浏览: 44
以下是使用指针比较两个数大小的C语言代码示例:
```c
#include <stdio.h>
int main() {
int a, b;
int *p1, *p2;
printf("请输入两个数:");
scanf("%d %d", &a, &b);
p1 = &a;
p2 = &b;
if (*p1 < *p2) {
int *temp = p1;
p1 = p2;
p2 = temp;
}
printf("较大数=%d,较小数=%d\n", *p1, *p2);
return 0;
}
```
相关问题
用指针比较两个数大小
以下是用指针比较两个数大小的C语言代码示例:
```c
#include <stdio.h>
int main() {
int a, b;
int *p1, *p2, *temp;
printf("请输入两个数:");
scanf("%d %d", &a, &b);
p1 = &a;
p2 = &b;
if (*p1 < *p2) {
temp = p1;
p1 = p2;
p2 = temp;
}
printf("a=%d b=%d\n", a, b);
printf("较大数=%d 较小数=%d\n", *p1, *p2);
return 0;
}
```
该程序首先通过指针变量p1和p2分别指向输入的两个数a和b,然后通过比较*p1和*p2的值来判断大小关系。如果*p1小于*p2,则交换p1和p2的指向,使得p1指向较大的数,p2指向较小的数。最后输出a、b以及较大数和较小数的值。
利用函数指针比较两个数大小
利用函数指针比较两个数大小的方法如下所示:
```c
#include <stdio.h>
int compare(int a, int b) {
if (a < b) {
return -1;
} else if (a > b) {
return 1;
} else {
return 0;
}
}
int main() {
int a, b;
printf("请输入两个数:");
scanf("%d %d", &a, &b);
int (*ptr)(int, int); // 声明一个函数指针
ptr = compare; // 将函数compare的地址赋给函数指针ptr
int result = ptr(a, b); // 通过函数指针调用compare函数
if (result == -1) {
printf("%d 小于 %d\n", a, b);
} else if (result == 1) {
printf("%d 大于 %d\n", a, b);
} else {
printf("%d 等于 %d\n", a, b);
}
return 0;
}
```
这段代码中,我们首先定义了一个compare函数,用于比较两个数的大小。然后,在main函数中声明了一个函数指针ptr,并将compare函数的地址赋给ptr。接下来,通过函数指针ptr调用compare函数,并将结果保存在result变量中。最后,根据result的值输出比较结果。