下面是程序说明:
int
a=1234
float
b=123.456
double
c=12345.54321
上面只是简单的赋值,你应该能理解吧
printf("-,%2.1f,%2.1f",a,b,c)
//输出到屏幕
带%表示输出格式,
%2.1f
表示输出的数据是float类型的,2表示输出的数据一共两位,.1表示输出一位小数
除了%2.1f,其他的都会当作字符串输出,所以"-,就输出-,类
第一个%2.1f将a格式化输出,因为a=1234,一共有四位,所以格式化错误,输出0.0了
第一个%2.1f格式b,同样的原因,输出0.0
c找不到前面的格式化信息,所以就不输出了
如果有问题再联系我
输出如下:
a%=3;这时a=2
a+=a*=a-=a*=3,需要从右往左计算
先计算:a*=3,a变成2*3=6
接着:a-=6,a变成6-6=0
接着:a*=0,a变成0*0=0
最后:a+=0,a变成0+0=0
我碰到的是这样的题下列程序段的输出结果为() float k=0.8567printf("%06.1f%%",k*100)A.0085.6% B.0085.6%% C.0085.7% D..857
答案是C
06.1f中的6是指输出域宽为6,即输出项输出时所占的列数为6,如果输出数据的宽度小于6,在域内向右对齐,左边多余位补空格,这儿因为6有前导符0,则左边多余位补0;当输出数据宽度大于6,则按照实际宽度全部输出。
如果输出域宽为负整数,则输出数据在域内左对齐。%%为输出一个%。
(小数点也算一个单位的宽度)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)