求助,不知道为什么输出了地址的值,指针用的不熟
//调试下列程序,使之具有如下功能:任意输入2个数,调用两个函数分别求://⑴ 2个数的和;
//⑵ 2个数交换值。
//要求用函数指针调用这两个函数,结果在主函数中输出。
//调试程序时注意参数传递的是数值还是地址
#include <stdio.h>
int sum(int a, int b, int *c);
void swap(int *a, int *b);
void main()
{
int a,b,c,(*p1)(int ,int ,int *);
void(*p2)(int *,int *);
printf("please input two numbers:\n");
scanf("%d,%d",&a,&b);
p1=sum;
p1(a,b,&c);
p2=swap;
p2(&a,&b);
printf("两数之和为:");
printf("sum=%d\n",c);
printf("两数交换之后为:");
printf("a=%d,b=%d\n",a,b);
}
int sum(int a, int b, int *c)
{
*c=a+b;
return *c;
}
void swap(int *a, int *b)
{
int t=0;
t=*a;
*a=*b;
*b=t;
}