一.在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,则输出全部小数.
就是你输入时也要输入*
c中*表示空读入一个字符,那样写是没错的
6.2是格式控制,表示读入数据所占的宽度
f表示浮点型变量.
B的*是表示你在输入时也必须有个*,如:
23*20 2.0
至于C的%*,还真不知道,我只知道printf时用%*是干嘛的,哎...
hkhkq说:
"c中*表示空读入一个字符,那样写是没错的"
那么,你能给出C的输入示例吗?
偶诚恳的等待...