我正在嘗試做一個簡單的while while循環,其中除'y'或'n'以外的任何字母都是無效的,並且循環重複。有誰知道爲什麼這個循環總是評估爲false?即使輸入了有效的字符?字符比較總是假的c
char user_response[2];
do {
printf("\nDo you want to process another range (y or n): ");
scanf("%1s", user_response);
user_response[0] = tolower(user_response[0]);
}
while (user_response[0] != 'y' || user_response[0] != 'n');
return user_response[0];
如果答案是「y」,那麼它不等於「n」,反之亦然。所以,你的任何一個或兩個表達式都將是真實的。 – paddy
你的循環測試一個假想字符,在同一時間是'y'和'n'* *。它不會接受任何不是'y'的東西,它也*不會接受任何不是'n'的東西。 – hobbs