在Visual Studio C++中,我定義了幾個單字節常量。智能感知提示中出現的值高達0x06,但是當我指定值0x07時,智能感知顯示值爲「\ a」。VS智能感知顯示一些(不是全部)字節常量的轉義字符
這是怎麼發生的?
在Visual Studio C++中,我定義了幾個單字節常量。智能感知提示中出現的值高達0x06,但是當我指定值0x07時,智能感知顯示值爲「\ a」。VS智能感知顯示一些(不是全部)字節常量的轉義字符
這是怎麼發生的?
您誤解了intellisense。 0x7 ='\ a'不是文字字符'a'。 '\ a'是鈴聲/鬧鐘。
參見轉義序列下面的文章 - https://en.wikipedia.org/wiki/Escape_sequences_in_C
'\a'
確實的值爲0x7。如果將0x07
分配給uint8_t
,則可以確定編譯器不會將該分配更改爲其他值。智能感知以另一種方式代表價值,它不會改變您的價值觀。
此外,'a'
的值爲0x61,這可能會讓您失望。
爲什麼我得到了反對票的問這個問題?我知道我錯過了一些顯而易見的東西,但我要求,很快就收到了我需要讓我再次滾動的答案。 –