好吧,我正在做一个班级的任务,在这个班级中,我必须读取电阻上的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