为什么加了条件就不行了。

为什么加了条件就不行了。

public  float count(float n)

//定义商品总价存放到变量中

{

  if(n<100)

  return n;

  else if(n<=199&&n>=100)

       return (float) (0.95*n);

  else if(n>199)

   return (float) (0.85*n);

 

}

这样写就不行

但是

public  float count(float n)

//定义商品总价存放到变量中

{

  if(n<100)

  return n;

  else if(n<=199&&n>=100)

       return (float) (0.95*n);

  else

   return (float) (0.85*n);

 

}

这样就可以运行。相比之前是多了个if(n>199)。然后如果第一种要运行。提示改错就必须结尾再加个return n;

难道是因为防止没有返回吗。。但是我所有情况应该都包括了。请解释一下。。学过c语言。按理说第一种是可以运行的

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
一叶知秋519 2017-09-04 10:50:55

if的完整判定结构是:if ...else..或者if ...else if ...(n个)else if ...else...

第一种写法,编译器会认为你没有包含所有的情况,所有会报错。可以是第二种写法或者直接在else if判定条件结束后加个return 返回值。

祝学习愉快~

  • 提问者 FLY8 #1
    那如果是多个 if 没有else 呢
    2017-09-06 17:21:39
  • 一叶知秋519 回复 提问者 FLY8 #2
    你好,是一样的,如果没有else就需要在最后加个return。祝学习愉快~
    2017-09-06 18:16:04
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师