C语言求助

题目:调试下列程序,使之具有如下功能:任意输入2个数,调用两个函数分别求:⑴2个数的和;⑵2个数交换值。要求用函数指针调用这两个函数,结果在主函数中输出。#include... 题目:调试下列程序,使之具有如下功能:任意输入2个数,调用两个函数分别求:
⑴ 2个数的和;
⑵ 2个数交换值。
要求用函数指针调用这两个函数,结果在主函数中输出。
#include "format.h"
void main()
{ int a,b,c,(*p)();
scanf("%d,%d",&a,&b);
p=sum;
*p(a,b,c);
p=swap;
*p(a,b);
printf("sum=%d\n",c);
printf("a=%d,b=%d\n",a,b);
}
sum(int a, int b, int c)
{ c=a+b;
}

swap(int a, int b)
{ int t;
t=a;a=b;b=t;
}
求方法!谢谢了!
展开
 我来答
ge2008ge12
2011-12-19 · TA获得超过1110个赞
知道小有建树答主
回答量:683
采纳率:100%
帮助的人:345万
展开全部
#include "format.h"
#include<stdio.h>
void main()
{ int a,b,c,(*p)(int,int);
void (*q)(int &,int &);
int sum(int a, int b);
void swap(int &a, int &b);
scanf("%d,%d",&a,&b);
p=sum;
c= (*p)(a,b);
q=swap;
(*q)(a,b);
printf("sum=%d\n",c);
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;
t=a;a=b;b=t;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一变班爱麻啊堡0J
高粉答主

2020-01-13 · 醉心答题,欢迎关注
知道答主
回答量:11.4万
采纳率:2%
帮助的人:5694万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
糖酥棍儿
2011-12-19 · TA获得超过692个赞
知道小有建树答主
回答量:393
采纳率:0%
帮助的人:388万
展开全部
#include <stdio.h>

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;
}

void main()
{
int a,b,c,(*p)(int ,int ,int *);
void (*p1)(int *, int *);
scanf("%d,%d",&a,&b);
p=sum;
p(a,b,&c);

p1=swap;
p1(&a,&b);
printf("sum=%d\n",c);
printf("a=%d,b=%d\n",a,b);
}
追问
“void (*p1)(int *, int *);”
不太明白。
追答
int a,b,c,(*p)(int ,int ,int *);
函数都是需要有返回值类型的, 上面这个是定义的是 返回值 为整型的 指向函数的指针;
void (*p1)(int *, int *);”
void 就是无返回值类型的指向函数的指针, void swap 函数是无返回值的,若要定义一个指向该函数的指针,则指针变量也需要声明成 void 无返回值类型
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式