![](/img/trans.png)
[英]Why does a cout statement at the beginning of my program not output anything?
[英]Why does the statement “cout << '\\\\';” not fail?
源代碼如下。
cout << '\\' << endl; //OK, output is \
cout << '\\\\' << endl; //OK, output is an integer 23644, but why?
聲明cout << '\\\\\\\\' << endl;
調用類ostream
的以下函數。
_Myt& __CLR_OR_THIS_CALL operator<<(int _Val)
我知道寫'\\\\\\\\'
這個詞很奇怪,但我不明白為什么它不會失敗。 如何解釋結果?
這是一個多字符文字,類型為int
。
包含多個c-char的普通字符文字是多字符文字。 包含單個c-char的多字符文字或普通字符文字在執行字符集中無法表示,它是有條件支持的,具有int類型,並具有實現定義的值。
你應該使用"\\\\\\\\"
,這是char const[3]
:兩個\\和最后一個NUL字節。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.