比较2个数的大小,结果出不来,出了一个随机数,不知道哪里错了,请高手帮忙
本帖最后由 fyrtl 于 2012-11-26 21:04:13 编辑 #include <stdio.h>
void main ()
{ int max(int x,int y);
int (*p)(int x,int y);//定义指向函数的指针
int a,b,c;
p=max;
scanf("%d,%d",&a,&b);
c=(*p)(a,b);
printf("a=%d,b=%d,max=%d\n",a,b,c);
}
int max (int x,int y)
{ int z;
if (x>y)z=x;
else z=y;
return z;
}
[最优解释]
你的程序是对的
这样好一点
#include <stdio.h>
int max(int x,int y);
void main ()
{
int (*p)(int x,int y);
int a,b,c;
p=max;
scanf("%d,%d",&a,&b);
c=(*p)(a,b);
printf("a=%d,b=%d,max=%d\n",a,b,c);
}
int max (int x,int y)
{
return x>y?x:y;
}
[其他解释]
输入的时候注意两个数据之间要加逗号
[其他解释]
int max(int x,int y);
声明放到main函数外面试试
[其他解释]
输入格式是
5,3
莫忘记 , 逗号了
[其他解释]
正解,出现这个错误是你输入时候两个数据之间没有加逗号,导致b并没有接受到正确的输入值,所以b没有赋初值,所以是一个随机的值
[其他解释]
输入的时候要和scanf里面的格式完全一样