任意输入两个数,调用两个函数1分别求两个数的和;2交换两个数的值。要求用函数指针调用这两个函数,结果在主函数中输出
时间: 2023-11-10 07:16:56 浏览: 85
函数指针来交换两个数
好的,以下是代码实现:
```c
#include <stdio.h>
// 声明函数
int add(int x, int y);
void swap(int *x, int *y);
int main()
{
int num1, num2, result;
int (*func1)(int, int) = add; // 函数指针,指向求和函数
void (*func2)(int*, int*) = swap; // 函数指针,指向交换值函数
// 输入两个数
printf("请输入第一个数:");
scanf("%d", &num1);
printf("请输入第二个数:");
scanf("%d", &num2);
// 求和
result = (*func1)(num1, num2);
printf("两数之和为:%d \n", result);
// 交换值
(*func2)(&num1, &num2);
printf("交换后第一个数为:%d \n", num1);
printf("交换后第二个数为:%d \n", num2);
return 0;
}
// 定义求和函数
int add(int x, int y)
{
return x + y;
}
// 定义交换值函数
void swap(int *x, int *y)
{
int temp = *x;
*x = *y;
*y = temp;
}
```
以上代码中,我们分别定义了求和函数和交换值函数,并使用函数指针调用这两个函数。在主函数中,先输入两个数,然后分别调用函数指针指向的函数,最后输出结果。
如果您有其他问题,可以继续问我。
阅读全文