一道选择题????

若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是:A)scanf("%d%lx,%le",&x,&y,&z);B)scanf("%2... 若x ,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是:
A) scanf(" %d%lx,%le",&x,&y,&z);
B) scanf("%2d * %d%lf"&x,&y,&z );
C) scanf("%x %* d%o",&x,&y);
D) scanf("%x%o%6.2f",&x,&y,&z);

答案是D 有几个疑问 1. B和C中的* 是干什么的
2. D中的%6.2f是什么意思
3. C好像也不对吧
展开
 我来答
cfidswkabc
2008-03-20 · TA获得超过249个赞
知道答主
回答量:123
采纳率:0%
帮助的人:65.1万
展开全部
一.在scanf函数中,*有两种含义:
1.若*不含在%格式之中,则仅冲纳表示是原样输入的字符,如B中的%2d*%d%lf.
在键盘输入数据时应在第一个数据后加腔枯入一个*号,再输入第伍判洞二个数据.
2.若*含在%格式之中,则表示输入的数据不赋值给任何变量,如C中的%x%*d%o.如在键盘上这样输入:
0fff 18 057
则将fff赋值给x,18不赋给任何变量,057赋给y.
所以C是对的.
二.在scanf函数中不能规定实型数据的精度,所以在scanf函数中不能出现%6.2f的格式
但是在printf函数中%6.2f指的是控制实型数据的输出精度,其格式为:
%[-][m].[n]f
其中"-"及"m"、"n"均可有可无,
其意义为:指定输出的实数共占m列,其中有n位小数,当没有"-"时,表示若数值的长度小于m,则右对齐,左补空,有"-"时,则左对齐,右补空;若数值长度>m,则输出全部数值.
m的默认值为6,若缺省m,则m=6.
n指定小数精度,若缺省n,则输出全部小数.
ryw12403
2008-03-20 · TA获得超过1899个赞
知道大有可为答主
回答量:2501
采纳率:0%
帮助的人:2079万
展开全部
就是你输入时也要输入*
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hkhkq
2008-03-20
知道答主
回答量:17
采纳率:0%
帮助的人:19万
展开全部
c中*表示空读入一个字符,那样写是没错的
6.2是格式控制,表核做示读入数据所占的宽度
f表示浮点型尘氏橡派旁变量.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ggdmdf
2008-03-20 · TA获得超过1520个赞
知道小有建树答主
回答量:1024
采纳率:0%
帮助的人:1224万
展开全部
B的*是表示你在输入时也必虚纯须有个*,如:
23*20 2.0
至于C的%*,还真不知道,我只知道printf时用%*是干嘛的,哎...

hkhkq说:
"c中*表示空读入一个字符,那样写坦明是没错的让誉告"
那么,你能给出C的输入示例吗?
偶诚恳的等待...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式