为了账号安全,请及时绑定邮箱和手机立即绑定

求学霸帮忙看看吧,不知道是标点,还是括号原因无法运算啊

#include <stdio.h>

int cost(int a,int b)

{   if(3>=b>0){

  float result=14;}

else(5>a||a>=23)

    {float result=14+2.3*(b-3)*1.2; }if(23>a>=5)

    { float result=14+2.3*(b-3); }

    return result; }

int main()

float money=cost(9,12)+cost(18,12);

    printf("小明每天打车的总费用:%f",money);

    return 0;

}/*In function 'cost':

 error: expected ';' before '{' token

 warning: no newline at end of file这是出错的地方我也不懂哪里错了*/


正在回答

4 回答

对了还有else是不能用来判断的,他是否则的意思,应该写成这样:

…………

else

if(5>a||a>=23)

    {float result=14+2.3*(b-3)*1.2; }

if(23>a>=5)

    { float result=14+2.3*(b-3); }

    return result; }

…………

0 回复 有任何疑惑可以回复我~
#1

lolipop漫 提问者

非常感谢!
2015-07-22 回复 有任何疑惑可以回复我~

你#include后面为什么要加空格呢,哪个老师教你的

0 回复 有任何疑惑可以回复我~
#1

lolipop漫 提问者

别在意细节,也许只是手误
2015-07-22 回复 有任何疑惑可以回复我~

if多重结构只要根据逻辑顺序写或嵌套一般都没有问题,关于float result首先你在代码中出现了很多次,其次你在if-else语句中定义的result的作用范围并不到return result;这里~,所以应该在函数一开始就定义这个变量。不知道解释得清不清楚= =

0 回复 有任何疑惑可以回复我~
#1

lolipop漫 提问者

恩,谢谢!以后注意
2015-07-22 回复 有任何疑惑可以回复我~

我知道原因了,首先要把第二个else改成if,第二个if改成else。然后把int cost,改成float,不然会变成整数型,然后输出68.。同时在开头阶段添加float result,定义变量。来个人说明下,if多重结构,else和if顺序错会出错吗,还有为什么要定义float result;

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

求学霸帮忙看看吧,不知道是标点,还是括号原因无法运算啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信