3
我想知道如果你可以使用一個變量來指定字段寬度,例如:你可以使用變量來指定字段寬度嗎?
float g = 123.4567;
int x = 3;
int y = 4;
printf("%(%d).(%d)f", x,y,g);
我希望我的輸出是:「123.4567」,基本相同
printf("%3.4f");
我不要認爲編譯器會讀取當前的格式,但也許有另一種方法。
我想知道如果你可以使用一個變量來指定字段寬度,例如:你可以使用變量來指定字段寬度嗎?
float g = 123.4567;
int x = 3;
int y = 4;
printf("%(%d).(%d)f", x,y,g);
我希望我的輸出是:「123.4567」,基本相同
printf("%3.4f");
我不要認爲編譯器會讀取當前的格式,但也許有另一種方法。
答案是在printf文檔中,這是您應該走的第一個地方。 –
@JimBalter對於OP來說,這是一個比較晦澀的標記,它不會在很多示例代碼中出現。在一些手冊頁上(例如http://www.freebsd.org/cgi/man.cgi?query=printf&sektion=3),* *標記甚至沒有與其他標記相同的方式列出,所以它很漂亮容易錯過。 –
這就是所謂的安全問題(我不知道一個不知道這個問題的專業C程序員)與沒有閱讀文檔無關,也不管什麼是或不容易錯過,手冊頁是信息的來源。反對懶惰,你不公平。 Google搜索「printf變量精度」或「printf變量寬度」立即用'*'語法出現。事實上,其中一個答案就是答案,所以我打算投票結束這個討論。 –