回答
printf()
如何知道格式化字符串結束並且實際值開始的位置?您不包含任何這樣的信息,它是格式化字符串的整個點:描述參數的可變數量,因此printf()
內的代碼知道要處理多少個參數。
以及以何種方式是優於
printf("%d%d", 2, 4);
?
此外,打印結果("24"
,不換行)將是非常艱難的任何方式來詮釋,所以你還不如加間隔,這將有助於使格式化字符串更可讀:
printf("%d %d", 2, 4);
這將打印"2 4"
(再次,沒有換行符)。
請注意,在C中,無法使用變量參數函數(在這種情況下爲printf()
)以某種方式確定其參數的數量(或多個類型!)。它必須知道,或能夠根據一些參數(或某些其他狀態)自行計算。
另外,如果想打印"%s"
,我不知道你怎麼想象
printf("%s", "%s");
應該工作?
這是一件好事,你在最後附加了一個換行符,但你應該提及這個附加和你的理由,並將它包含在你顯示的輸出中。 – Deduplicator 2014-09-22 09:29:18
@Deduplicator謝謝。我不打算在那裏換行,我似乎剛剛自動輸入。 :) – unwind 2014-09-22 09:34:11
- 1. 爲什麼printf空格填充只允許一個空格?
- 2. 爲什麼printf()允許這個double被指針傳遞?
- 3. 什麼是固定字符串的printf格式?
- 4. 是否允許在Python中允許多個字符串格式化操作?
- 5. C printf格式字符串
- 6. PHP不允許字符串日期格式爲d/m/Y
- 7. 爲什麼許多字符
- 8. 爲什麼允許以下字符串文字?
- 9. s(n)printf打印更多字符而不是格式說明符指定
- 10. 爲什麼字符串Remove()方法允許char作爲參數?
- 11. C90不允許在printf中使用%,爲什麼?
- 12. 爲什麼樣式表列不允許?
- 13. SSH.NET不會允許這個字符串
- 14. EF6 - 註釋允許空字符串,但不允許爲null
- 15. 爲什麼我不能使用printf格式替換字符串中的子字符串?
- 16. 將C++ printf格式轉換爲VB .NET字符串格式
- 17. 爲什麼變量不允許綁定
- 18. 爲什麼這個格式字符串不起作用?
- 19. 爲什麼這個字符串格式不是貨幣?
- 20. %爲什麼不允許
- 21. 爲什麼java允許私有字符串[] [] var []
- 22. 爲什麼C++允許將整數分配給字符串?
- 23. 解析Objective-C printf格式字符串?
- 24. printf浮點值的字符串格式
- 25. 通過printf格式輸出字符串
- 26. PHP:使用printf格式化字符串
- 27. 正則表達式允許特定字符串的字符之間的空格
- 28. URL哈希格式,允許什麼和不是什麼?
- 29. Vimscript是否允許多行字符串?
- 30. 正則表達式字符串允許1個字符和空格
「這將是一個有用的功能」 - 你能舉一個例子嗎? – mafso 2014-09-22 09:31:04