1樓:匿名使用者
首先,你這裡 printf("%d is a prime number!\n");,應該是 printf("%d is a prime number!\n",m);。
另外,如果你的程式沒有漏括號的話,break之後是跳到if (i>m/2&&m!=1)這一句進行判斷的,若在之前的for語句裡,找不到m的因數,則if (i>m/2&&m!=1)的條件滿足,列印這是一個素數。
若找到了m的因數,則m不是一個素數,列印no。
此處,因為執行了break,這是找到因數才會執行的,所以m一定是個合數,會列印no
2樓:
break語句只是跳出當前最內層的迴圈。在你給出的例子中,就是跳出for 迴圈。
接下來,就應該執行for語句的下一句,在本例中,應該是if (i>m/2&&m!=1)
printf("%d is a prime number!\n");
else
printf("no!\n");
這一整句。
具體執行printf("%d is a prime number!\n"); 還是printf("no!\n");語句,需要根據 if 的判斷結果。
3樓:匿名使用者
break;只是跳出for迴圈體,接著執行if (i>m/2&&m!=1),若為真(不是break出來的,應該是不滿足for迴圈條件而結束迴圈的),d則為素數。
4樓:匿名使用者
是跳到if (i>m/2&&m!=1)
這一句的,你也可以斷點測試一下。
5樓:
跳到判斷語句if(i>m/2&&m!=1)這裡,但是由於break為真,所以m肯定不是素數,則if(i>m/2&&m!=1)語句為假,那麼最後輸出printf("no!
\n"); 若有疑問,可以問。。
6樓:睿爾科技嵌入式
for(i=2;i<=m/2;i++)
if(m%i==0)
break;
if (i>m/2&&m!=1)
printf("%d is a prime number!\n");
else
printf("no!\n");
-----------------以上程式設計中若if(m%i==0) break;為真break跳出迴圈,跳到這一行,因為break跳出最內層迴圈。而你的for迴圈內部只有一個if語句,所以跳到下一個if語句的地方
7樓:匿名使用者
每次都要跳到 printf("no!\n");語句,
因為,m如果不是2的倍數,則for迴圈會執行完畢都不跳,一旦跳轉,必然是2的倍數。所以跳轉時 m/i=2,所以直接到printf("no!\n");
8樓:山腳腳下的娃兒
break跳出for迴圈,執行下一個if,
9樓:
if();為真的時候break;跳出大迴圈,也就是for();那個迴圈。跳到if (i>m/2&&m!=1)
c語言break問題,break編譯報錯
夏天的青雲 include int main void else if a 2 else printf if外的輸出 d n a return 0 你對比一下你的 吧.vc6.0編譯通過. break要搭配case使用,if語句不使用break,而是使用else或else if c語言break怎麼...
C語言break語句出錯的問題,關於C語言中break語句的問題
竹竹風子 break必須在迴圈內使用,從你貼出來的 來看,應該呼叫exit退出 上面的printf裡面標識了 好吧,俺這個回答是存在一定問題的。沒細看,慚愧 把while 1 對應的反大括號打到break 下面那個反大括號後面.while 1 while的反大括號打到這裡. 抹不去那縷光 你直接把b...
關於c語言,關於c語言中的break用法
include include表明這是給編譯程式預處理用,因為程式中要用函式printf,因此必須在尖括號中寫stdio.h,因為printf函式在這個檔案中被定義 int main 每個c程式必須且僅有一個main函式,前面的int報名函式結束執行後需要給定一個整型的返回值,後面的空括號表明mai...