以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  荤菜求助:一个关于函数的问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=43651)


--  作者:荤菜
--  发布时间:3/5/2007 11:22:00 PM

--  荤菜求助:一个关于函数的问题
main()
{int a,b,c;
scanf("%d%d",&a,&b);
c=max(a,b);
printf("%d",c);
getch();
}
int max(x,y)
int x,y;
{int z;
return (z=x>y?x:y);
}
运行正确

main()
{float a,b,c;
scanf("%f%f",&a,&b);
c=max(a,b);
printf("%f",c);
getch();
}
float max(x,y)
float x,y;         /*错误 lianxi3.c 9: 与'max'声明中的类型不匹配*/
{float z;
z=x>y?x:y;
return z;              
}
编译出现 错误
这是为什么?


--  作者:健之
--  发布时间:3/6/2007 9:30:00 AM

--  
你在main中没有申明函数max的返回值,系统隐含认为它返回int.你只要在main中添加函数申明float max(float,float)就行了。
--  作者:荤菜
--  发布时间:3/10/2007 9:18:00 PM

--  
float max( x,y)
float x,float y和
float max(float x,float y)写法不都是一样吗?
--  作者:荤菜
--  发布时间:3/10/2007 9:25:00 PM

--  
不好意思输错了,应该是第八九行的float max(x,y)
                 float x,y;
              和float max(float x,float y);
我觉得都一样.
--  作者:D.code
--  发布时间:3/25/2007 3:22:00 PM

--  
你那个是老式的申明格式,再说了,按照你的书写顺序,你在调用max时,还没有申明呢。至少得把max的声明放在main()的上面吧。
--  作者:荤菜
--  发布时间:3/27/2007 3:09:00 PM

--  
开窍了,在此谢过各位.
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms