一道c语言题目,求解答!!!!!!!

若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是( )。
A.scanf("%f",&c);
B.scanf("8.4f",&c);
C.scanf("%6.2f",&c);
D.scanf("8f",&c);
为什么这道题是选A而不是选C,求详细解释。

scanf()函数中没有精度控制。
如: scanf("%5.2f",&a); 是非法的。不能企图用此语句输入小数为2位的实数。则排除c
B,D没有%排除追问

那要使单精度实型变量c的值为283.19应该怎么弄

那要使单精度实型变量c的值为283.19应该怎么弄

追答

scanf虽然不可以控制精度,但是可以控制长度,使用scanf("%6f",&c);如果你输入283.1900则只取283.19

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-04
格式输入严格按照格式输入就好了,如果是c的话输入得是
6.2283.1900
6.2在输出的时候有作用,再输入的时候没作用。
相似回答