1樓:
char c='ab',輸出可能b可能是achar c='\2',輸出2
解釋,由於char型只佔乙個字元,梁禪所以只取前8位,由於計算機有小端對其和大端對齊的區別,根據編譯器不同出來的結果可能也不相同。我使用vc結果是b.
2 \為轉義字元,ascii碼中沒有\2這個定義,所以如果衡渣鎮輸出時char型結果不確定,如果輸出整咐粗形那麼還是2,這裡補充一下,\2表示8進位。比如\17 用printf("%o",c)列印的話輸出17,用printf("%d",c)列印出10進位15.
合法字元請參考acsii碼錶。
2樓:匿名使用者
ab'仿橋是乙個多位元組字元常量。
2'是乙個源大櫻轉義字元,表雹叢示的是ascii值是2的字元。
3樓:幫助達人小趙學長
您好!請您稍等,正在為您整理相關資訊,馬上給您回覆!
首先說明合法。
ab'是乙個多位元組字元常量'\2'是乙個轉義字元,表示的是ascii值是2的字元。
char c='ab',輸出可能b可能是achar c='\2',輸出2解釋,由於char型只佔乙個字元,所以只取前世拍8位,由於計算機有小端對其和大端對齊的區別,根據編譯器不同出來的結果可能也不相同。我使用vc結果是b.\2 \為轉義字元,ascii碼中派迅沒有\2這個定義,所以如果輸出時char型結果不確定塵返此,如果輸出整形那麼還是2,這裡補充一下,\2表示8進位。
比如\17 用printf("%o",c)列印的話輸出17,用printf("%d",c)列印出10進位15.
執行過程中不會出錯。
您可以參考一下哦。
以下字元中(a'\018' b'\"' c'\\' d'\xcc')不合法的字元常量是?
4樓:網友
每個字元常量都對應乙個整數編碼,所以表示乙個字元有兩種方式:
一、直接寫出字元本身,然後用一對單引號括起來。比如'a','1'等等。但是有一些特殊字元不能這樣表示,比如單引號本身,不能寫成 ''',會報錯,所以給這些特殊字元前面加個「\」符號標誌一下,告訴編譯器接下來的字元要當成普通字元來讀,就像這樣'\''。
二、用編碼表示字元。就像用9527叫周星弛一樣。具體做法是先寫個斜槓,再加上編碼,最後用單引號括起來。
字元的編碼是什麼?查ascii碼錶。注意這裡的編碼只能用八進位和十六進位,用八進位時前面加0或不加,用十六進位時前面加x。
比如'\07'和'\7'是一樣的,是八進位。'\x7'是十六進位。
你的問題裡 a、d是第二種表示方法,b、c是第一種表示方法,形式都沒錯,只有a裡使用了八進位編碼,就不應該出現8這個數字,所以a錯了。
在C語言中,以下選項中合法字元常量的是請解釋下原因,一定追分
a非法,因為字元常量只能有一個符號,現在有2個了,注意兩個斜槓表示一個斜槓。b合法,這個是16進製表示字元的方法 c,非法,兩個字元了 d,非法,沒用單引號。 ru惡魔獵手 首先字元常量用單引號包裹,所以排除d,d代表變數 c中有2個字元,一個0,一個a,但是隻能保留最後一個字元a,是不合法的 同理...
在C語言中,以下選項中合法字元常量的是請解釋下原因
吳永修吳卿 字元常量是用單括號括起來的一個字元。有兩種表示方法 一種是用該字元的圖形符號,如 b y 另外還可以用字元的ascii碼錶示,即用反斜符 開頭,後跟字元的ascii碼,這種方法也稱為轉義序列表示法,具體方法是 有兩種形式 一種是用字元的八進位制ascii碼,表示為 ddd這裡,ddd是八...
下面選項中,均是不合法的轉義字元的選項是()
1011 不合法,八進位制格式的轉義字元不超過3位。不合法,轉義字元以 開頭,後面必須有其它具bai有意義的字元,不能單獨使用。xyz 不合法,yz不是十六進位制數。所以選b。所有的ascii碼都可以用 加數字來表示。而c中定義了一些字母前加 來表示常見的那些不能顯示的ascii字元,如 0,t,n...