'y'또는 'n'이외의 문자가 유효하지 않고 루프가 반복되는 간단한 do while 루프를 수행하려고합니다. 누구도 왜이 루프가 항상 false로 평가되는지 알고 있습니까? 유효한 문자가 입력 된 경우에도?char 비교 항상 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