我遇到了一個問題,而我已經寫了一個岩石,紙張,剪刀遊戲的while循環。它永遠不會出現循環。我嘗試了一切,但似乎沒有任何工作。一切看起來都合乎邏輯,但也許我錯過了一些東西。有人有主意嗎?雖然我確實知道一個簡單的解決方法是爲每個if
聲明添加break
,但我想了解爲什麼循環本身不起作用。問題與循環做
#include <stdio.h>
#include <stdlib.h>
int main(){
int rounds,
wins,
max;
do {
printf("Best 2 out of 3 or Best 3 out of 5? (Enter 3 or 5)\n");
scanf_s("%d", &rounds);
printf("%d\n\n", rounds);
if (rounds == 3){
wins = 2;
max = 3;
puts("OK!");
}
else if (rounds == 5){
wins = 3;
max = 5;
puts("\nOK!");
}
else {
printf("Please enter a valid option.\n\n");
}
} while (rounds != 3 || rounds != 5);
system("pause");
}
你是對的,它的確如此,但是如果滿足其中一個條件,'||'也不會返回true嗎? – Novaea 2014-10-10 17:43:57
@Novaea;否。請參閱更新。 – haccks 2014-10-10 17:48:26