3
A
回答
5
在scanf
格式字符串,則%
之後,*
字符是分配抑制字符。
在你的例子中,它吃掉了第一個字符但不存儲它。
例如,使用:
char a;
scanf("%c", &a);
如果輸入:xyz\n
,(\n
是換行字符),那麼x
將被存儲在對象a
。
有了:
scanf("%*c%c", &a);
如果輸入:xyz\n
,y
將被存儲在對象a
。
Ç說指定爲*
scanf
這種方式:
(C99,7.19.6.2p10)除非分配抑制是由*指示的,轉換的結果被放置在對象指向格式參數之後的第一個參數尚未收到轉換結果。
5
根據Wikipedia:
可選星號(*)之後的百分比符號表示 通過此格式說明讀出的數據將不被存儲在 變量。對於 這個丟棄的變量,格式字符串後面不應包含任何參數。
這樣您就可以跳過與該星號相匹配的字符。
相關問題
- 1. %s和%c格式說明符之間有什麼區別?
- 2. %ul和%lu C格式說明符有什麼區別?
- 3. Java:格式說明符%x和%h之間有什麼區別?
- 4. 格式說明符之後的scanf空格與格式說明符之前的空格(「%c」vs「%c」)
- 5. C中限定符和說明符之間的區別是什麼?
- 6. C和%之間有什麼區別?
- 7. 格式化IO函數(* printf/* scanf)中的轉換說明符%i和%d之間有什麼區別
- 8. \ c和\\ c有什麼區別?
- 9. C++和C++ CLI有什麼區別
- 10. 「Parent c = new Child()」和「Child c = new Child()」之間有什麼區別?
- 11. c和C++之間關鍵字static有什麼區別?
- 12. 什麼區別\\。\ C:和\\。\ C:\
- 13. printf中%c和%C有什麼區別?
- 14. char [] c和char c []有什麼區別?
- 15. C - %x格式說明符
- 16. C格式說明符
- 17. c#和visual c#有什麼區別?
- 18. - >和>之間的區別是什麼。在C/C++?
- 19. C#,Visual Basic.NET和託管C++之間的字符串文字有什麼區別?
- 20. 爲什麼C有%n格式說明符,儘管有明顯的缺點?
- 21. Symbian C++和規範C++之間的語法區別是什麼?
- 22. 託管C++和C#有什麼區別?
- 23. Visual C++和C++有什麼區別?
- 24. scanf中bool數據類型的格式說明符C
- 25. Managed C++和C++/CLI有什麼區別?
- 26. C#「var」和C++「auto」之間的區別
- 27. C和C++之間的區別
- 28. 解釋scanf中沒有空格和scanf中空白之間有什麼區別?
- 29. 在Objective-C中Type * var和Type * var之間有什麼區別?
- 30. XSD:Pattern和C#Regex之間有區別嗎?
每個說明符都在任何正派的書中描述。發佈前你有沒有考慮過? – dirkgently
是的,我試圖找到,但我發現其他情況。我的書Explay這些字符\t%C short,int和長\t%d short,int和長\t%我 無符號短,無符號整型,無符號長\t%U 上浮\t%F 雙\t%LF 浮動,雙(科學記數法)\t%和 浮動,雙[使用中的最短%F%E] \t%克 短,整型,長(八進制格式)\t%或 短,整型,長(十六進制) \t%×%(重量) 指針\t字符序列由 '\ 0' 終止\t%S 無符號長長[64比特] \t%LLU 長長[64比特] \t%LL 長雙[64比特] \t%的Lf 無符號短[8-比特] \t%胡你能解釋我的區別?請 – ild0tt0re