[问题] if,else if后面一定要有else?

楼主: kobebryin (Jimmy)   2015-08-09 02:04:39
这是我的出错讯息
http://i.imgur.com/wLg5VGR.jpg
今天在写递回的练习时,想说课本题目给的条件有i=1和i>1两个状况,i=1时就结束递回
,我一开始第九行只有写else是可以运作的,但是我想想不对啊,假如别人输入i<1时不
也是包含在else里面,所以动手修改成else if(i>1)来确定条件,这时就出现照片里的错
误讯息了,好像是少了大括号之类的问题可是我怎么找都确定没问题啊,印象中if,else
if可以不一定要加else的,不知道是不是这个问题,还是我大括号真的少了或多了.....
先请前辈们开导了,谢谢
作者: pupuliao (pupu)   2015-08-09 02:06:00
不需要 但是我建议所有的if 之中的内容要用{} 包起来
作者: LPH66 (-6.2598534e+18f)   2015-08-09 02:19:00
你的问题是函数没有永远回传值, i<1 时两个 if 都不会进这种状况你没有 return, 错误讯息就在告诉你这件事
作者: egaryer (egaryer)   2015-08-09 02:33:00
Java考题就有if后没用{}括起来的题目XD
作者: iFEELing (ing)   2015-08-10 00:35:00
if后面如果只有单行的话不用{}
楼主: kobebryin (Jimmy)   2015-08-10 01:39:00
原来是没有永远回传值,我大彻大悟了,另外以后if 后面我会注意加个{}的,谢谢各位前辈们的提点,小弟先谢过了
作者: alchin7748 (R.Chin)   2015-08-10 01:41:00
else if那行的else拿掉也能跑 重点就是你一定要给这个方法最基础的回传值 方法最后一行给个 return 0;应该就不会有错误讯息了

Links booklink

Contact Us: admin [ a t ] ucptt.com