0
int GetUserInput(char *userStart,char *userDestination){
char firstLetter,secondLetter;
while(1){
printf("\nEnter starting position: ");
scanf(" %c",&firstLetter);
if (firstLetter == 'x' || firstLetter=='X'){
return 1;
}
printf("Enter destination position: ");
scanf(" %c",&secondLetter);
if (secondLetter == 'x' || secondLetter=='X'){
return 1;
}
if (!((firstLetter<'a' && firstLetter>'O') || (firstLetter<'A' && firstLetter>'O'))){
if (!((secondLetter<'a' && secondLetter>'o') || (secondLetter<'A' && secondLetter>'O'))){
break;
}else{
PrintErrorMessage(2);
printf("second\n");
}
}else{
PrintErrorMessage(1);
printf("first\n");
}
}
*(userStart) = firstLetter;
*(userDestination) = secondLetter;
return 0;
}
我輸入了一些不正確的輸入,但是,該錯誤信息不會顯示,它只是再次重複輸入的提示。如何打印錯誤消息,當輸入不正確,然後重複提示輸入
輸出:
輸入起始位置:N
目的地位置:v輸入起始位置:
預期輸出:
輸入起始位置: n
輸入目標位置:v
「錯誤消息」
輸入起始位置:
發佈[mcve]。 –
請提供[mcve]和* exact *輸入和預期輸出(不是某種表示形式)。你甚至沒有顯示循環結構。 – kaylum
你的條件都是錯誤的。例如' secondLetter <'a'&& secondLetter>'o''。該條件*總是*錯誤。在'o'之後,一個字母如何在'a' **和**之後? – kaylum