1个回答
展开全部
max是函数名,也就是函数的入口地址,而语句p=max使p的值等于max的值,当然使p和max一样。你的意思是指输出的结果吧,,即printf("max=%d",(*p)(a,b));输出的是函数的返回值,即a,b中较大的一个,而不是max(即地址);若想输出地址应该是:printf("max=%p\n",max)或printf("max=%p\n",p);括号中“”中的内容是可以变化的,如:printf("最大值=%d\n",(*p)(a,b));
追问
图片右下角显示了p和max的地址,值并不一样,纠结的就是这个。
追答
以前没有发现,的确如此;但输出结果是一样:printf("p=%p,max=%p\n",p,max);相同,主函数也是如此,printf("main=%p\n",main);输出结果和watch中的值不一样。不知什么原因,很遗憾没找到。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询