天天看點

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)。      

繼續閱讀