C语言报错,请问哪里出错了?该怎么改?
3个回答
展开全部
系统显示两个错误,其实都是指向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
展开全部
两个错误:
1、定义max函数时,丢掉了返回值的类型。修改方法,在max前加上float,改为下面一行:
float max(float x,float y)
2、在main函数中非法调用max函数(调用未声明或定义的函数)。修改方法有两个:
(1)把函数定义部分放到main函数之前;
(2)在main函数内的增加下面一行,放在第一行:
fliat max(fliat x,fliat y);
1、定义max函数时,丢掉了返回值的类型。修改方法,在max前加上float,改为下面一行:
float max(float x,float y)
2、在main函数中非法调用max函数(调用未声明或定义的函数)。修改方法有两个:
(1)把函数定义部分放到main函数之前;
(2)在main函数内的增加下面一行,放在第一行:
fliat max(fliat x,fliat y);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-11-22
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询