如何突破沒有休息聲明的循環?我的教授哈特斯斷言並告訴我們不要使用它。我只是好奇,如果我得到的數字不是素數,我將如何擺脫while循環?突破一個沒有休息聲明的循環[C]
這裏是我的代碼:
#include <stdio.h>
#include <stdlib.h>
/* Prototypes */
void primeChecker(int num1);
int main() {
int num1 = 5;
primeChecker(num1);
return 0;
}
void primeChecker(int num1) {
int i, flag = 0;
printf("Enter a number to check for prime numbers: ");
scanf("%d", &num1);
/* Number to start with */
i = 2;
while (i <= num1/2) {
if (num1 % i == 0) {
flag = 1;
} else {
i++;
}
}
if (flag == 0) {
printf("The number is a prime number!");
} else {
printf("The number is NOT a prime number!");
}
}
「break」聲明究竟是什麼錯誤?不得不不同意那個人的教授。我使用它們,並在較低的程度上「繼續」陳述......有人可以告訴我爲什麼我現在是白癡嗎? – yano
對於簡單的循環(比如你的),你可以通過某種方式改變條件。但是你也應該知道,除非教師*強迫你不使用'break'或'continue',那麼你可以自由地使用這些語句,它們確實存在是有原因的,並且在有意義時不使用它們是愚蠢的。編碼風格是一件非常私人的事情,除非你有一個特定的指導方針,你必須遵循那麼你可以並且應該使用(和開發)你自己的風格,你喜歡的東西。哎呀,我已經編程了30年,我的風格還在不斷髮展(儘管現在很慢)。 :) –
如果老師只是因爲使用了他或她不喜歡的風格而給了你低分,那麼他或她就是個傻瓜,需要向他或她的上級報告。個人不同意不應該用於評分。當然,如果老師把它作爲不使用某些具體陳述的任務的一部分,那麼這是另一回事。 –