调试下列程序,使之具有如下功能:任意输入2个数,调用两个函数分别求:
⑴ 2个数的和;
⑵ 2个数交换值。
要求用函数指针调用这两个函数,结果在主函数中输出。
我编写的程序是:
#include <stdio.h>
int sum (int x, int y,int c) ;
int swap (int m,int n);
void main()
{int a,b,c,(*p)(),(*s)();
scanf("%d,%d",&a,&b);
p=sum;
c=(*p)(a,b);
s=swap;
swap(a,b);
printf("sum=%d\n",c);
printf("a=%d,b=%d\n",s(a),s(b));
}
sum(int x, int y,int c)
{
c=x+y;
return c;
}
swap(int m, int n)
{ int t;
t=m;m=n;n=t;
}
程序运行结果
怎么a输出的是3?求指教~~