首先要知道:break只要写到循环里面无论在循环里面的什么位置,都没有问题!
你有没有发现你第一个代码是对的!
为什么第二个是错嘚呢?
因为你的break写到if外面去了,也就是说这种情况下,循环永远只执行一遍!因为只要进循环,无论if的条件如何break必执行到!无论輸入的数是否为素数,都不再进行循环判断!
如果写到if里面只有if条件成立,才跳出循环!即只有为素数时,才跳出循环!
第二个代码每次执行了for之后,都会执行break自然就跳出了循环,而i的值又没有大于n下一个if无法进入,所以没有输出这是程序逻辑上的问题,不是break嘚问题break只跳出最近的一层循环
break只跳出最近的一层循环, 你的程序里面只有一层循环
你第一个程序,是判断到数可以被 > 2 且 < n的数整除就跳出循环,所以是对的
break只跳出最近的一层循环, 你的程序里面只有一层循环
你第一个程序是判断到数可以被 > 2 且 < n的数整除,就跳出循环所以是對的
第二个程序,无论什么情况都跳出循环,所以是不对的
首先要知道:break只要写到循环里面无论在循环里面的什么位置,都没有问题!
你有没有发现你第一个代码是对的!
为什么第二个是错的呢?
因为你的break写到if外面去了,也就是说这种情况下,循环永远只执行一遍!因为只要进循环,无论if的条件如何break必执行到!无论输入的数是否为素数,都不再进行循环判断!
如果写到if里面只有if条件成立,財跳出循环!即只有为素数时,才跳出循环!