鱼C论坛

 找回密码
 立即注册
查看: 4105|回复: 1

VC++仿真问题

[复制链接]
发表于 2013-1-5 17:27:56 | 显示全部楼层 |阅读模式
1鱼币
int max(int x,int y)
{
int z;
if (x>y)
{
  z=x;
}
else
  z=y;
return z;
}


//指向函数的指针
//#include "stdio.h"
/*
#if(1)
#include <stdio.h>
void main()
{
int max(int,int);
int (*p)();// 定义一个指向函数的指针变量,此函数带回整型的返回值。

int a,b,c;
p=max条
scanf("%d %d",&a,&b);
c=(*p)(a,b);//它包括函数的调用,与c=max(a,b)等价
printf("a=%d,b=%d,max=%d\n\n",a,b,c);
}
#endif

用VC++仿真是提示错误,可是用wintc编译器编译时时可以的。最后只能把
int (*p)(int,int);修改成这样才可以。
求解?

最佳答案

查看完整内容

定义指针变量,必须要知道他的参数类型。int (*p)();表示 p是一个指针变量,他表示的函数是不带任何参数的。但是max是带了两个参数(int,int);所以不行。除非你的max也是个不带参数的函数,比如:int max()
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-1-5 17:27:57 | 显示全部楼层
定义指针变量,必须要知道他的参数类型。int (*p)();表示 p是一个指针变量,他表示的函数是不带任何参数的。但是max是带了两个参数(int,int);所以不行。除非你的max也是个不带参数的函数,比如:int max()
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-9 16:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表