请问为什么被调用的函数里面的if里就没有else,但是主函数里面就有?
else可要可不要,如果没有else需要处理的逻辑,就可以不需要
如果你不怕麻烦,也可以写
if (m % i == 0) return 0;
else continue;
只是我们通常省略不写而已。
就好比外国人学中文,他学会了如下句型:因为...所以...
但是中国人很少这么说,比如因为你是中国人,所以你会说中文。
中国人可以说因为你是中国人,你会说中文。
也可以说你是中国人,所以你会说中文。
还可以说你是中国人,你会说中文。
编程语言也一样,等你熟练了,你自然就可以简化了。
只是一种省略的写法,也可以补全,但是一般老程序员大多会这么简化写
对于初学者来说,可以将程序的if else 写的全面一些,包括把大括号{}也写出来,尽可能把程序写得完整,培养好写代码的习惯,多写一写注释,利于思考,共勉~
这个主函数的功能是,输入一个数,然后进if判断这个数是否为素数,在这里调用了判断当前数是否为素数的函数,里面的if判断表示,如果当前数能被
2整除,就已经表明这个数不是素数了,至于为什么不写else,是因为,如果当前判断的数,不被2整除,但是能被2整除,但是你写了else直接返回1,
这个函数的返回值就直接为1了,但其实他并不是素数。所以我们一定要等到for循环全部走完才行,而if就不一样了,因为只要不满足if,就表示他不是
素数,此时直接return 0,这个函数for循环就不走了,表示当前数不为素数。然后回到主函数中的if,如果返回0,表示这个数不为素数,否则就执行else
,表示这个数为素数。
else 不是必须的,if后面也可以有多个else if 或者一个else 但是不是必须的
看else里有没有处理逻辑了。如果没有需要处理的事情,就可以省略