若a 是float 型变量,b 是unsigned 型变 量,以下输入语句中合法的是()。

若a是float型变量,b是unsigned型变量,以下输入语句中合法的是()。A:scanf("%6.2f%d",&a,&b);B:scanf("%f%n",&a,&b... 若a 是float 型变量,b 是unsigned 型变
量,以下输入语句中合法的是()。
A:scanf("%6.2f%d",&a,&b);
B:scanf("%f%n",&a,&b);
C:scanf("%f%3o",&a,&b);
D:scanf("%f%f",&a,&b);
答案:C
为什么?详细说下
A B D错在哪
展开
 我来答
White_MouseYBZ
2012-01-11 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6701万
展开全部
C:scanf("%f%3o",&a,&b);——%f对应&a,没啥疑问,关键是%3o。%3o是接受3位八进制整数的意思,与&b匹配,所以正确。
A错在scanf()不允许指定精度,而控制符%6.2f违反了这个规定;
B错在%n这个控制符是啥意思?没有这个控制符!
D错在把无符号变量的控制符写成float变量控制符了。scanf()在输入无符号数时只能用%d或%ld作控制符。
供参考……
有心不迟
2012-01-11 · TA获得超过1021个赞
知道小有建树答主
回答量:377
采纳率:0%
帮助的人:192万
展开全部
因为a为float型变量,所以输入时用%f,%3o中3为的作用是指定输入数据所占宽度%o为读入的数据按八进制整数的形式读入。ABD选项都把b当做其他数据类型,当然不行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kaixingui2012
2012-01-11 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6493万
展开全部
scanf("%6.2f%d",&a,&b); 不允许带限制.2
scanf("%f%n",&a,&b); 不知道%N为何物
scanf("%f%f",&a,&b); (无符号)整型不能用%f
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式