int max(int x,int y){ return(x>y?x:y); } int _tmain(int argc, _TCHAR* argv[])
{
int (*ptr)(int,int);
int a,b,c;
ptr=max;
scanf("%d",&a);
scanf("%d",&b);
c=(*ptr)(a,b);
printf("a=%d,b=%d,max=%d",a,b,c);
system("pause");
}
提示内部编译错误
那儿有问题?
{
int (*ptr)(int,int);
int a,b,c;
ptr=max;
scanf("%d",&a);
scanf("%d",&b);
c=(*ptr)(a,b);
printf("a=%d,b=%d,max=%d",a,b,c);
system("pause");
}
提示内部编译错误
那儿有问题?
解决方案 »
- 关于返回一个临时变量的地址?
- 好几个怪问题,人都快被整疯了,谁能帮我解决,定感激不禁(在线等)
- 怎么改frame的外观,(急,在线等,解决就给分)
- 做静态库时,怎么设置接口输出?以便于其他程序引用?
- 请问:m_strcllx = "'%%"+m_strcllx+"%%'";是什么意思?
- 我用Serialize保存我的信息的时候,我只保存了一个"hello",为什么我存的文件有几k?
- 请问高手如何用win32 Application 写一个和SDI界面相同的程序(100分)
- 谁有红皮书标准?
- 关于桶形畸变的算法和代码
- 讨论一个进程线程、DLL问题?
- 请教内行:数组可以重载操作符吗?顶者有分,:)
- 子窗体调用父窗体
我typedef int (*fun_ptr)(int,int); 然后 fun_ptr ptr; ptr = max; 就正确了
我想知道原因
改成
int mymax(int x,int y){ return(x>y?x:y); }应该是跟内部定义的宏有冲突
int max(int x,int y){ return(x>y?x:y); } int _tmain(int argc, _TCHAR* argv[])
{
int (*ptr)(int,int);
int a,b,c;
ptr=max;
scanf("%d",&a);
scanf("%d",&b);
c=(*ptr)(a,b);
printf("a=%d,b=%d,max=%d",a,b,c);
system("pause");
}
typedef int (*fun_ptr)(int,int);
int max(int x,int y){ return(x>y?x:y); } int _tmain(int argc, _TCHAR* argv[])
{
int a,b,c;
fun_ptr ptr;
ptr = max;
scanf("%d",&a);
scanf("%d",&b);
c=(*ptr)(a,b);
printf("a=%d,b=%d,max=%d",a,b,c);
system("pause");
}
要不你如下吧:
#include <stdio.h>
int max(int x,int y){return(x>y?x:y);}int main(int argc,int *argv[])
{
int (*ptr)(int,int);
int a,b,c;
ptr = max;
scanf("%d",&a);
scanf("%d",&b);
c=(*ptr)(a,b);
printf("a = %d,b=%d,max=%d",a,b,c);
return 0;
}
{
return x > y ? x : y;
}int _tmain(int argc, _TCHAR* argv[])
{
int a = 0;
int b = 0; int (*FunPtr)(int, int);
FunPtr = max; _tscanf(_T("%d, %d"), &a, &b);
getchar(); _tprintf(_T("a=%d, b=%d, max=%d"), a, b, FunPtr(a, b));
getchar();
return 0;
}