printf("%*s%s%*s",——)是什么?


    我們可能知道scanf里用*修飾符,是起到過濾讀入的作用。比如一個有三列數值的數據,我只想得到第2列數值,可以在循環里用scanf(“%*d%d%*d”, a[i])來讀入第i行的第2個數值到a[i]。 
  但是* 修飾符在printf中的含義完全不同。如果寫成printf(“%6d”, 123),很多童鞋應該就不會陌生了,這是設置域寬的意思。同理,%6s也是域寬。* 修飾符正是用來更靈活的控制域寬。使用%*s,表示這里的具體域寬值由后面的實參決定,如printf(“%*s”, 6, “abc”)就是把”abc”放到在域寬為6的空間中右對齊。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM