重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
系统显示两个错误,其实都是指向max的申明问题的。如下:
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、虚拟空间、营销软件、网站建设、图木舒克网站维护、网站推广。
在main函数中使用了max,但是max没有事先申明。C语言规定用户自定义的变量和函数都需要事先申明。修改方法是:在main函数之前申明max函数
max(float x,float y);
修改编译后错误消失:
2.现在只有两个警告,第一个警告是说明main函数应该有无类型返回值,这个的修改只需要在main前加上void就可以了。
3.程序中还有一个警告。注意在main函数中c是一个int类型的变量,但是max函数返回了一个float类型的值,把一个float类型的值赋值给int类型的变量会有精度损失。所以将max函数返回值类型修改为float,c也修改为float。注意:main前的申明语句也要修改。
另外,注意一点:由于精度问题,当两个非常相似的float数据比较时可能会有错误的结果。所以float数剧的比较,常常设置精度进行比较。
例如:if (x-y)0.001 then return x
else return y
您好!很高兴为您解答。
出现这个error通常是因为某一个函数或者变量没有在使用之前声明。您试着把这一自定义函数写在主函数前,再编译看看~
望采纳~如问题未解决,欢迎追问~
int mul (int x, int y)
函数在声明时请和定义一样.
/*你的{ 要在函数开始和结束时*/
int mul (int x, int y)
{
int p;
p = x*y;
return(p);
}
在vs中,stdlib.h中定义了max()宏,你的函数max与之重名了,导致函数名max被当做宏展开了,进而引发了语法错误。将你的函数改为其他名称,例如my_max即可。