当前位置: 代码迷 >> C语言 >> 各位大哥来看看
  详细解决方案

各位大哥来看看

热度:259   发布时间:2007-05-11 15:54:38.0
各位大哥来看看

main()
{
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d",c);
}


int max(int x ,int y)
{
int z;
if (x>y) z=x;
else z=y;
return(z);
}
上面的为什么每RUN都是输出3129?


----------------解决方案--------------------------------------------------------
程序没问题
应该是你的输入问题
你是不是输入两个数时中间忘记加 , 了
scanf("%d,%d",&a,&b);

----------------解决方案--------------------------------------------------------
以下是引用fchglion在2007-5-11 15:54:38的发言:

main()
{
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d",c);
}


int max(int x ,int y)
{
int z;
if (x>y) z=x;
else z=y;
return(z);
}
上面的为什么每RUN都是输出3129?

函数没有声明

main()
{
int a,b,c;
int max(int x,int y);
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d",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);
main()
{int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
}
int max(int x,int y)
{
int z;
z=(x>y)?x:y;
return(z);
}


----------------解决方案--------------------------------------------------------
对呀,就是没有声明..........
----------------解决方案--------------------------------------------------------
这样更简洁
int max(int x,int y)
{
return (x>y?x:y);
}
----------------解决方案--------------------------------------------------------
回复:(fchglion)各位大哥来看看
谢谢先啊,不是可以调用底下的max函数吗,在前面可以不用声明的吗?各位在给我指点指点。。。
----------------解决方案--------------------------------------------------------
因为你定义的函数是在主函数之后,调用它之前要在主函数中声明.这样也行
int max(int x,int y)
{
int z;
z=(x>y)?x:y;
return(z);
}
main()
{
int a,b,c;
int max(int x,int y);
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d",c);
}

----------------解决方案--------------------------------------------------------
  相关解决方案