轉義字元 」 的ascii碼值是否與不轉義之前相同?

時間 2021-05-30 18:35:34

1樓:北極

標準中定義的只有:

\a \b \f \n \r \t \v \\ \' \" \? \nnn \xhh

這些轉義字元對應的ASCII碼可以參考這裡:Escape sequences in C

其餘的都是未定義的行為。

\?確實是0x3F,等同於「?」,但不是說所有以"\"開頭的轉義字元的ASCII碼值都等於後面的那個字元的ASCII碼值。

甚至,在不同的編譯器上,未定義的行為獲得的結果都是不一樣的。

比如'\e'在VS2008裡是101,在GCC裡是27.

規範裡的說法:

Each of these escape sequences shall produce a unique implementation-defined value which can be stored in a single char object. The external representations in a text file need not be identical to the internal representations, and are outside the scope of this International Standard.

不要去追究規範沒有定義的內容。

鍵盤鍵值的制定依據什麼?不只是 ASCII 碼的對映那麼簡單吧?

rlei 而97 122在鍵盤上就不是對應ASCII中的碼值了 具體是指什麼意思?你說的是掃瞄碼 Scan code 嗎?鍵盤的掃瞄碼本身就不和ASCII對應,而且出於硬體製造的便利按鍵位物理排列來編號的 1 例如ASDF是1E,1F,20,21 2 補充 你所說的應該是所謂的 Virtual Ke...

常量字串是右值,為什麼沒有呼叫相應的右值過載函式?

冒泡 誰告訴你字串常量不是左值啦,明明就是左值。字串常量的型別是const char N N是長度 含末尾 0 陣列嘛,const左值 現行標準下,兩種寫法是等效的。但是VS2010發布於2010年,右值引用的語義在那之後又有發展。VS2010支援的右值引用語義對應的是v2.0 N2844 這個提案...

字串生成的hash碼的碰撞率是多少?

dgon 雜湊256演算法的結果是256位的二進位製碼。2的256次方約等於1.158 10 77。用億來說也要說9次,這是個宇宙級別的數了好吧。就是說結果有這麼這麼多的可能,為什麼樓主會認為這很容易出現碰撞的?呃,難道是只準備擷取結果的前幾位來當識別碼?這也很好算啊,算下2的多少次方就知道大概有多...