回覆列表
  • 1 # phesk5486

    你好,我是【phesk5486】,很高興為你解答。標準C語言庫函式fprintf/printf格式字串的轉換說明形式是這樣的: %[標誌][最小輸出寬度][.精度][長度修正符]型別方括號括起來是可選項。標誌是0或多個標誌字元,可以是任意順序,常用有以下幾個: - 左對齊,預設是右對齊。 + 帶符號的值前面總是有個符號,也就是正數前面有+號,負數前面有-號。 0 輸出值的寬度小於最小寬度的話,用0填充,預設是用空格填充。最小輸出寬度就是你說的那個m,這個必須是10進位制整數常量,開頭不能是0,不然變成上面的0標誌了。如果輸出的值小於這個寬度,根據上面的對齊標誌決定左對齊還是右對齊,剩下的用填充字元填充,預設是空格,用0標誌指定的話是0。精度一般是小數點後面跟1個十進位制數,對於整型,表示要輸出的最少位數,不足的話前面會補0,對於小數,表示小數點後面輸出幾位小數。長度修正符修正後面型別的輸出長度。l表示long或unsigned long,ll表示long long int或unsigned long long int,h表示short或unsigned short,hh表示為char或unsigned char,L表示long double。最後的型別就是常見的d,o,x,f,c,s一類的,這個意思就不用說了吧。最小輸出寬度和長度修飾符是不衝突的,所以要輸出長整型又要指定輸出欄位寬度,必須兩個都指定。%8ld,%8lo,%8lx這樣都可以。而%mlo,%mlx是錯誤的的轉換說明,因為最小輸出寬度必須是數字,寫成m根本就不會輸出。上面的選項都還有一些不常用的,具體可以參考C語言標準。更多專業的科普知識,歡迎關注我。如果喜歡我的回答,也請給我贊或轉發,你們的鼓勵,是支援我寫下去的動力,謝謝大家。

  • 中秋節和大豐收的關聯?
  • 什麼是腐殖質土?