好吧,我正在做一個班級的任務,在這個班級中,我必須讀取電阻上的4個色帶並確定其電阻值。爲了做到這一點,我編寫了代碼,首先要求用戶輸入相應於特定樂隊顏色的字母。例如R對應於紅色。這裏是我寫的代碼:掃描碼不起作用
char band1, band2, band3, band4;
float firstband, secondband, thirdband, fourthband;
float value1, value2, value3, value4, finvalue;
printf("Please enter the 1st band: ");
scanf("%c", &band1);
printf("Please enter the 2nd band: ");
scanf("%c", &band2);
printf("Please enter the 3rd band: ");
scanf("%c", &band3);
printf("Please enter the 4th band: ");
scanf("%c", &band4);
問題是,當用戶被要求輸入字母時,請求會混亂起來。它給了我這樣的:
請輸入第一個樂隊:
請輸入第二個波段:請進入第三個波段:
請進入第四區段:阻力是...
只有第一帶值和第三帶值被讀取,第二和第四被跳過。我似乎無法找到代碼中的錯誤。
噢,非常感謝你!它現在有效。 – 2015-02-09 21:56:00
出於好奇,你如何區分黑色,棕色,藍色,綠色和灰色? – Wintermute 2015-02-09 21:59:33
代碼提示「請輸入第一個樂隊:」。用戶輸入'R'(紅色),然後輸入回車鍵或'\ n''。 'scanf(「%c」,&band1);'讀取''R'和'scanf(「%c」,&band2);'讀取''\ n''。鍵入2個鍵。 2鍵讀取。 「第二次和第四次被跳過」並非如此。只是代碼讀入'band2'的''\ n'。 – chux 2015-02-09 22:09:13