用c语言编写一个比较两个整数大小的子函数,在主函数中通过函数指针调用该函数,并传值得到正确结果的代码。
时间: 2024-02-22 20:54:51 浏览: 115
好的,这是你的答案:
```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 = 5;
int b = 7;
int (*fp)(int, int) = &compare;
int result = (*fp)(a, b);
printf("%d\n", result); //输出-1
return 0;
}
```
在这个示例中,我们定义了一个名为`compare`的函数来比较两个整数的大小。该函数返回1,-1或0,分别表示第一个整数大于,小于或等于第二个整数。
在主函数中,我们声明了两个整数`a`和`b`,并将它们分别设置为5和7。然后,我们定义了一个指向`compare`函数的函数指针`fp`,并将其设置为指向`compare`函数。最后,我们使用`fp`调用`compare`函数,并传递`a`和`b`的值作为参数。该函数返回结果将存储在`result`变量中,并将其输出到控制台。
希望这个示例对你有所帮助!
相关问题
用c语言编写一个函数,功能是两个整数数据交换。在主函数中输入两个整数,调用前面函数后,输出交换后的这两个整数。
以下是用C语言编写的实现两个整数数据交换的函数及主函数:
```c
#include<stdio.h>
void swap(int *a, int *b) // 定义交换函数,参数为指针类型
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int num1, num2;
printf("请输入两个整数:\n");
scanf("%d %d", &num1, &num2);
printf("交换前:num1=%d, num2=%d\n", num1, num2);
swap(&num1, &num2); // 调用交换函数,传入num1和num2的地址
printf("交换后:num1=%d, num2=%d", num1, num2);
return 0;
}
```
运行结果:
```
请输入两个整数:
5 9
交换前:num1=5, num2=9
交换后:num1=9, num2=5
```
c语言编写一个函数,功能是两个整数数据交换。在主函数中输入两个整数,调用前面函数后,输出交换后的这两个整数。
可以定义一个交换函数,如下所示:
```c
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
这个函数的参数是两个指向整数的指针,作用是交换两个整数。在函数内部,我们需要定义一个临时变量来存储其中一个整数的值,然后将这个整数的值赋给另一个整数,再将临时变量的值赋给第一个整数,完成交换操作。
在主函数中,我们可以先输入两个整数,然后调用交换函数进行交换,最后再输出交换后的两个整数,如下所示:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x, y;
printf("请输入两个整数:");
scanf("%d %d", &x, &y);
swap(&x, &y); // 调用交换函数
printf("交换后的两个整数为:%d %d\n", x, y);
return 0;
}
```
运行程序,输入两个整数,程序会输出交换后的两个整数。
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)