題:寫出十六進制整數ABCDEF對應的十進制整數,所占域寬為15。
int main()
{
int a = 0xABCDEF;
printf("%15d",a);
}
上一篇隨筆中說到八進制數前面要加‘0’;十六進制數前面要加‘0x’;所以這里定義 a 時要加 0x。
此外,這里的域寬就是指 d 前面的數字;printf可以使用使用格式控制串“%md”輸出域寬為m的十進制整數。
但是如果域寬大於實際數字長度,數字是右對齊,前邊會留下對應的空格;例如:
printf("%5d",123);
輸出_ _123,即123前面還有兩個空格。