使用指针变量编写函数求两数大于等于小于
时间: 2024-02-07 21:04:03 浏览: 33
可以使用指针变量编写一个函数来比较两个数的大小,并将结果通过指针返回。函数的实现如下:
```
void compare(int num1, int num2, int* greater, int* equal, int* smaller) {
if (num1 > num2) {
*greater = num1;
*equal = 0;
*smaller = num2;
} else if (num1 == num2) {
*greater = 0;
*equal = num1;
*smaller = 0;
} else {
*greater = num2;
*equal = 0;
*smaller = num1;
}
}
```
其中,参数`num1`和`num2`为需要比较的两个数,`greater`、`equal`和`smaller`为指向整型变量的指针,分别用于存储大于、等于和小于两个数的结果。
在函数内部,首先通过比较`num1`和`num2`的大小,确定它们之间的关系,并将结果存储到相应的指针变量中。如果`num1`大于`num2`,则将`num1`存储到`greater`指向的变量中,将`num2`存储到`smaller`指向的变量中,将`equal`指向的变量设置为0;如果`num1`等于`num2`,则将`num1`存储到`equal`指向的变量中,将`greater`和`smaller`指向的变量设置为0;如果`num1`小于`num2`,则将`num2`存储到`greater`指向的变量中,将`num1`存储到`smaller`指向的变量中,将`equal`指向的变量设置为0。
使用此函数时,需要定义三个整型变量来存储结果,并将它们的地址作为参数传递给函数。例如,以下代码比较两个数`a`和`b`的大小,并将结果存储到`greater`、`equal`和`smaller`变量中:
```
int a = 10, b = 20;
int greater, equal, smaller;
compare(a, b, &greater, &equal, &smaller);
printf("greater = %d, equal = %d, smaller = %d\n", greater, equal, smaller);
```
输出结果为:
```
greater = 20, equal = 0, smaller = 10
```