首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++函数指针有关问题

2012-03-22 
c++函数指针问题请看下面程序:程序一:#include cstdioint Max(int a,int b){return ab?a:b}int main()

c++函数指针问题
请看下面程序:

程序一:
#include <cstdio>

int Max(int a,int b)
{
return a>b?a:b;
}

int main()
{
int a,b,c,d;
printf("Please input three integers:");
scanf("%d%d%d",&a,&b,&c);

int (*p)(int,int)=Max;
d=(*p)((*p)(a,b),c);
printf("The max integer is %d\n",d);

return 0;
}

程序二:
#include <cstdio>

int Max(int a,int b)
{
return a>b?a:b;
}

int main()
{
int a,b,c,d;
printf("Please input three integers:");
scanf("%d%d%d",&a,&b,&c);

int (*p)(int,int)=&Max;
d=(*p)((*p)(a,b),c);
printf("The max integer is %d\n",d);

return 0;
}

程序三:
#include <cstdio>

int Max(int a,int b)
{
return a>b?a:b;
}

int main()
{
int a,b,c,d;
printf("Please input three integers:");
scanf("%d%d%d",&a,&b,&c);

int (*p)(int,int)=&Max;
d=p(p(a,b),c);
printf("The max integer is %d\n",d);

return 0;
}

程序四:
#include <cstdio>

int Max(int a,int b)
{
return a>b?a:b;
}

int main()
{
int a,b,c,d;
printf("Please input three integers:");
scanf("%d%d%d",&a,&b,&c);

int (*p)(int,int)=Max;
d=p(p(a,b),c);
printf("The max integer is %d\n",d);

return 0;
}

以上四个程序运行都没有错误,请各位大侠讲讲函数指针,说说为上面四个程序都运行正确

[解决办法]
一个函数类型的表达式可以隐式转换成其指针的表达式.只是可以转换,不是说一定会转换.

但是在C语言中除了sizeof(),"&"运算符之外,都发生这一转换.

"()"操作符的操作数类型要求是函数指针类型(在c中).
[解决办法]

探讨
int (*p)(int,int)=&amp;Max;
int (*p)(int,int)=Max;
为什么都是可以的

[解决办法]
探讨
一个函数类型的表达式可以隐式转换成其指针的表达式.只是可以转换,不是说一定会转换.

但是在C语言中除了sizeof(),"&amp;"运算符之外,都发生这一转换.

"()"操作符的操作数类型要求是函数指针类型(在c中).

[解决办法]
探讨
int (*p)(int,int)=&amp;Max;
int (*p)(int,int)=Max;
为什么都是可以的

[解决办法]
探讨
函数名 函数地址 得到的都一样的值。
例如一个数字 char A[100] A 和 &amp;A 都可以表示这个数组的地址。

[解决办法]
探讨

引用:
函数名 函数地址 得到的都一样的值。
例如一个数字 char A[100] A 和 &amp;amp;A 都可以表示这个数组的地址。


恩,单步调试了下 Max 与 &amp;Max 确实是一个地址。

但 int (*p)(int, int) = Max;
也可以 int (*p)(int, int)……

[解决办法]
探讨
引用:
函数名 函数地址 得到的都一样的值。
例如一个数字 char A[100] A 和 &amp;amp;A 都可以表示这个数组的地址。


恩,单步调试了下 Max 与 &amp;Max 确实是一个地址。

但 int (*p)(int, int) = Max;
也可以 int (*p)(int, int) = &amp;Max;
……

[解决办法]
探讨

函数名与函数名求地址各代表什么意思呢

热点排行