C++定义函数Add(int,int), 再定义一个函数指针指向该函数,并通过函数指针调用该函数?

求详细代码,谢谢!

函数指针的声明格式:

数据类型标识符 (*函数名) (形参列表);

例如:

void (*Add)(int, int);

int (*p)(int, int);

代码

分析:

    不能写成:int *pfun(int,int),因为圆括号运算符的优先级比*要高,所以要加上括号。

    把要调用的函数名赋值给函数指针即可,有多重方法,例如;

    第一种:int (*pfun)(int, int) = Add;

    第二种:int (*pfun)(int, int) = &Add;

    第三种:int  (*pfun)(int, int);

    pfun = Add;

    调用函数的方法就像调用普通函数一样。

测试代码(返回a和b中的最大值):

#include <iostream>

using namespace std;

int Add(int a, int b)

{

    return a > b ? a : b;

}

int main()

{

    int a = 2020, b = 1949;

    int (*pfun)(int, int) = Add;

    cout << pfun(a, b);

    return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-12

#include <iostream>

using namespace std;

int Add(int a,int b)

{

return a+b;

}

int main()

{

int a=66,b=88,(*fp)(int,int)=Add;

//要输入取消下面的注释

//cout<<"请输入整数a b";

//cin>>a>>b;

cout<<a<<'+'<<b<<'='<<fp(a,b)<<endl;

return 0;

}

相似回答