最近對c語言中最基本的字元常量產生了一些疑惑,網上了查了查大家說的不太一樣,於是自己專門驗證了一下。
一、轉義字元的方式
由於單雙引號都是ascii中的特殊字元,首先按照轉義字元的定義列印結果如下:
可見通過加反斜槓成為轉義字元的方式可以列印出來單引號和雙引號
二、直接用單引號括起來
當雙引號用單引號括起來時,此時雙引號可以理解是乙個普通的字元常量
但是,當單引號應用單引號時,編譯會發生錯誤,系統會認為單引號中為空,而單引號中不能為空(不合法)
總結
雙引號可以用轉義或單引號括起來的方式列印輸出,單引號只能用轉義字元來列印。
另外以上方法也可以用來檢測其他特殊字元,例如 \ 只能用 』 \\ '列印
擴充套件
① 在printf中輸出雙引號
#include
intmain()
②基本概念
'\ddd』表示的是三個八位制的ascii的數
'\xdd』表示的是兩個十六進製制的ascii的數
通過對應的八位與十六位制ascii表得到它們代表的字元
C語言中單引號和雙引號
寫慣了python對單引號和雙引號都混了。c語言中的單引號和雙引號含義迥異,用單引號引起的乙個字元實際上代表乙個整數,整數值對應於該字元在編譯器採用的字符集中的序列值,因此,採用ascii字符集的編譯器而言,a 的含義與0141或97嚴格一致。而用雙引號引起的字串,代表的卻是乙個指向無名陣列起始字元...
C語言中的單引號和雙引號的區別
1 實質區別,代表的含義不同 a 代表的是乙個整數,而且這個整數對應的是編譯器所採用的字符集中的字串行對應的數值。所以 a 跟ascii中的65意義是相同的。2 占用的記憶體空間大小不同 1 include 2 3 using namespace std 4 5 int main int argc,...
C語言中雙引號與單引號的區別
1 含義不同。用單引號引起的乙個字元實際上代表乙個整數,整數值對應於該字元在編譯器採用的字符集中的序列值。而一般我們的編譯器採用的都是ascii字符集。因此 s 的含義其實和十進位制數115的含義是一致的。而用雙引號引起的字串,代表的是乙個指向無名陣列起始字元的指標。例如 分別檢視 yes yes ...