使用指向变量的指针变量做函数参数,编写函数求两个数的大于,小于,等于关系
时间: 2024-05-10 12:14:46 浏览: 54
可以编写如下的函数:
```c
#include <stdio.h>
void compare(int a, int b, int *greater, int *less, int *equal) {
if (a > b) {
*greater = a;
*less = b;
*equal = 0;
} else if (a < b) {
*greater = b;
*less = a;
*equal = 0;
} else {
*greater = 0;
*less = 0;
*equal = a;
}
}
int main() {
int a = 7, b = 5;
int greater, less, equal;
compare(a, b, &greater, &less, &equal);
printf("%d is greater than %d\n", greater, less);
printf("%d is less than %d\n", less, greater);
printf("%d is equal to %d\n", equal, equal);
return 0;
}
```
在 compare 函数中,我们使用了指向 int 类型变量的指针变量 greater、less 和 equal,它们分别指向函数之外定义的变量 greater、less 和 equal。在函数体内,我们通过比较 a 和 b 的大小,将结果存储在这些指针变量所指向的内存位置中。
在 main 函数中,我们定义了变量 a 和 b,并且定义了指向 int 类型变量的指针变量 greater、less 和 equal。在函数调用时,我们将变量 a 和 b 的值传递给 compare 函数,并且将指向 greater、less 和 equal 的指针变量作为函数参数传递。函数执行完成后,我们通过解引用指针变量来获取比较结果,并打印输出。