A. 3. 以下選項中,不合法的c語言數值常量是( ) (A)028 (B)12. (C).177 (D)0x8A 求解答,謝謝!
A不合法,028前的0是代表八進制,而八進制數只能0-7,沒有8,所以不合法
B. C語言問題~~~為何'\028'是不合法的字元常量
a錯,應該是'\xff','\0xff'也是錯的.如果是整型的話就是0xff
b正確.'\65'裡面的65表示的是八進制,即十進制的53,對應的字元就是'5'
c.正確.
d.錯誤.八進制沒有8
八進制數表示整型的話前面是一定要加0的,如037,025等表示的就是八進制
但是表示字元的話就不一定要加0了.表示字元的話轉義符後面最多有三位,如'\124'表示的就是ascii碼為1*8²+2*8+4=84的字元,即字元't',如果'\1245'這種表示就錯了,因為超過了字元的范圍.
'\024'表示的是ascii碼0*8²+2*8+4=20的字元
C. 在C語言中,028是不是一個正確的八進制數的表示
不是,八進制最後最多到七,不能到八
D. char c='\028' c語言里為甚麼不合法
\後邊接著0 後邊的數被認為是八進制的 而八進制不能出現8(0~7) 所以會報錯
E. c語言 字元串「\\na\028b\tc」的長度為,為什麼\02算一個位元組,不是\028
\是c語言的轉義符開始,
有些時候,你發現c語言的一些符號用起來就有矛盾,語法錯誤,這時你就需要使用轉義了。
比如引號"
char a[] = "abc";
這是定義一個字元串。
如果你定義字元串里需要有個引號呢,你發現char a[] = "a"b"c";這樣語法有錯誤,自己想想也能想處理,c編譯的時候碰到第二個"是不是就是字元串的結束呢。
轉義就這樣產生了。char a[]="a\"b\"c";這樣就使告訴編譯器,中間有\的引號是字元串的值。
\040 表示空格,後面的數字是八進制的ascii碼 ,因為表示空格,所以就算一個字元。
\\ 表示\字元
\t 表示TAB健
\r 表示回車
\n 表示換行
等等
F. 請問:C語言中,0是不是合法八進制數028為什麼不是合法的八進制數
八進制不能含八,逢八進一?所以028是非法的,八進制的范圍0到7,0是合法的。