我將C代碼連接到應該打印到屏幕上的代碼(使用printf())乘法表,其中右下角(表格的最大乘積)作爲MaxMult傳遞給函數。生成一個可變長度的空白字符數組
例如用於MaxMult = 4應該打印:
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16
的要求是,該表將被靠右對齊,而這就是我的問題:
每個號碼,號碼左邊的白色空間是不同的。 ,因爲我需要它遵循MaxMult左側只有1個空白區域的要求,其他所有內容都參照它。
起初我想也許我可以傳遞一個變量給printf。像這樣:
printf("% Num_Of_Wite_Space d", currNum)
但我似乎無法做到這一點。
所以現在我需要一種方法來根據每個數字的位數生成一個不同長度的空白字符串,以便將IT傳遞給printf。 (希望我很清楚..)
有沒有人可以告訴我如何做到這一點?
這不會對情況下工作時的最終(右下角)值大於2位數。 – unwind 2013-03-13 15:04:41
@unwind:true - 它僅僅是這個特例的一個說明性示例 - 我已經更新了答案,但它涵蓋了在運行時指定的不同字段寬度和字段寬度,而不是編譯時。 – 2013-03-13 15:08:47