永发信息网

C语言函数指针问题

答案:2  悬赏:80  手机版
解决时间 2021-06-07 10:13

调试下列程序,使之具有如下功能:任意输入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?求指教~~

最佳答案
(*p)(),(*s)()里面都要加上要调用的函数的参数,类型与个数都一样才可以
全部回答
#include <stdio.h> int sum (int x, int y) ; void swap (int *m,int *n); void main() {int a,b,c,(*p)(int, int); void (*s)(int*, int*); 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",a,b); } int sum(int x, int y) { int c; c=x+y; return c; } void swap(int *m, int *n) { int t; t=*m;*m=*n;*n=t; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
梦幻孩子教导问题,急
长阳土家族自治县宜昌五味熟食我想知道这个在
深圳哪里有朝鲜族经常聚一起的地方?年轻男女
IBM怎样设置BIOS为光驱启动并从光盘启动WinXP
商水县周口观音禅寺地址在哪,我要去那里
陕:A T1314是什么车?
求个三星S5230C能用的QQ2008
关于手机售后服务7天包退的问题。
枣阳市襄樊沫沫私房蛋糕这个地址在什么地方,
一个数学金刊上的题目
苏仙区郴州呷得好口味虾这个地址在什么地方,
想下些歌但是数据线插进电脑没用那是则么会事
地下城游戏上不了
谁有LE-8104A采集卡的监控软件?急须
DNF号被盗了,装备只找回一部分,速度解决
推荐资讯
吃中药有什么忌口的,吃中药忌口。还能吃啥。
我的理想是当一名教师,如果你的理想是想成为
爱迪生幽默语录,女同学都说了我遗传了幽默基
道家法术口诀,民间法术!道术有哪些…
The bus
核销桌椅怎么写申请,餐饮部申请桌子写请示件
脸上痘痘,多面油,有什么控油洗脸奶和补水好
把Fe放入下列某溶液中,Fe片溶解且质量减小,也
英语专业找什么工作好,英语专业的应届毕业生
密封压盖结冰的原因及现象
我种的石榴都显示优秀状态。小号12块地产495
藕怎样洗去孔里面的泥
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?