天天看点

printf ("%2d\n",a);2是什么意思? http://zhidao.baidu.com/link?url=DS--JSlUrlPyVbT2UTwTGYM_wqVFyzSYffZOnJYpA9LWAdsb8FtQxtELVsl0nvBpTPcXX5mYw09y9FpMMwdC6K printf ("%2d\n",a);2是什么意思?

http://zhidao.baidu.com/link?url=DS--JSlUrlPyVbT2UTwTGYM_wqVFyzSYffZOnJYpA9LWAdsb8FtQxtELVsl0nvBpTPcXX5mYw09y9FpMMwdC6K

printf ("%2d\n",a);2是什么意思?

2006-09-19 19:41 卡路里亏空  |  分类:其他编程语言  |  浏览9660次 分享到: 2006-09-19 20:21 提问者采纳 答题闯关,过关即送礼!快来参加~

表示提供2个字符的空间用于输出a,如:(“_”表示空格)
a=1时,输出:_1
a=10时,输出:10
a=100时,输出:100
说明:a=1时,a只有1位数,因此在前面补充空格到2位(右对齐,如想要在后面补充空格的,即左对齐,只须把“%2d”改为“%-2d”即可);
a=10时,a刚好是2位数,直接输出便是了;
a=100时,a有3位数,超过了提供的空间,但并没有缩减,还是直接输出了。
再如:printf("%-3d\n",a);
a=2时,输出:2__
a=20时,输出:20_
a=200时,输出:200
a=2000时,输出:2000

如果a是浮点型,你可能会碰到这样的形式:printf("%-6.3f\n",a);
其中,“-”号还是表示左对齐,6表示提供6个字符空间用于输出,小数点后面的3表示小数部分输出3位,如:
(1) a=1.3125时,输出:1.312_
(2) a=1.2时,输出:1.200_
(3) a=1.12时,输出:1.120_
(4) a=10.123时,输出:10.123
(5) a=100.125时,输出:100.125
说明:
如果小数部分超过3位,则会缩减到3位,如(1);
如果小数部分低于3位,则会补充0到3位,如(2)和(3) ;
如果小数部分通过缩减或补充之后a的位数还是超过了6位,则还是直接输出了,如(5)。
从上面还可以看出,小数点是占用1位的,而小数部分则肯定占用3位,剩下2位由整数部分占用;整数部分是不会被缩减的,如(5)。      

继续阅读