1樓:墨汁諾
'\0'是八進位制的轉移字元,如果看到:\087這就是非法的,'\0x'表示十六進位制,還有一些必備的如:'\n','\r'這些。
和普通的字元判斷相同,比如判斷和'a'是否相同,ch=='a',那麼判斷轉義一樣,如ch=='\n',邏輯表示式的結果只有兩個,true和false,所有的邏輯表示式都一樣,為真就是true,否則就是false。
#include
int main(){
char a[20]="abc\'efgh";
int i=0;
for(i=0;i<20;i++){
if(a[i]=='\'')
printf("false");
if(a[i]==0){
printf("%d",i);
break;
2樓:僧香蝶祕康
a)'\"'
b)'\1011'
c)'\011'
d)'\abc'
'\\'
'\''\f'
'\101'
'\xf'
'\a'
'\}'
'x1f'
2.下面4個選項中,均是正確的八進位制數和十六進位制數的選項是:
這個我還真無法判斷了
a)-10
b)0abc
c)0010
d)0a12
0x8f
-017
-0x11
-0x123
-011
0xc0xf1
-0xa
3.下面4個選項中,均是非法常量的選項是:
為什麼是選
a,'\0xa'應該是合法的吧
a)'as'
b)'\\'
c)-0x18
d)0xabc
-0fff
'\01'
01177
'\0'
'\0xa'
12,456
0xf"a"
3樓:盧初南滿閎
#include
void
main()
//若程式能執行,就認為轉義符合法。
4樓:暢曄曄劍弼
有13個字元。分別如下:1:
\x182:\0123:'3'4:
\015:\06:\x187:
\08:'8'9:'q'10:
'w'11:\01612:'8'13:
\0對於你的問題\012,你得看看轉義字元的定義了。\ddd的一個轉義字元,注意,只是一個字元,是用1-3位8進位制常數來表示字元的轉義字元。\0當然就算是這個轉義字元了,只有1位。
而\012是有3位,所以當然看成是3位的,而不會看成是1位的\0和『1』和『2』這3個字元了。注意\ddd中的d代表一個8進位制常數位,編譯器會一直讀取到無法讀取為止,無法讀取有兩種情況,一種就是後面的數字根本不是一個8進位制常數位(注意8進位制常數位只有0到7),比如\08這裡就不是一個字元,而是兩個字元了\0和『8』,因為8不是8進位制常數位。同理可知\0a,\019這些都不是一個轉義字元了。
第二種情況就是讀取的位數達到了上限(上限是3位),比如\01234,這裡就不止一個字元了,而是\012,'3','4'這個3個字元構成的字串了。這樣說你應該能明白了吧。祝學習進步~~~
C語言轉義字元x41為A,為什麼??16進位制不是0x41嗎?0x開頭
要不然 x41 怎麼叫做a的 轉義 字元!因為c規定轉義字元 x41 中 是轉義字元引導符,後跟一個x表示x後面的數字是十六進位制表示法,用 括起來表示一位元組ascii碼。按這種解釋,x41 不就和0x41是一回事嗎?它們都表示字元a或a的ascii碼值! 杳哈哈哈 x說明的是十六進位制啊 然後4...
c語言strlen判斷字元長度的問題
小八 不是6應該是5吧 因為你輸入的長度是4再加 0 所以是5 include include main 試試這樣的,你要是一個字元一個字元的輸入,if a i n 就沒意義了。 你定義的字元陣列char 4 他的長度就是5 上你的scanf 輸入後有個 0就6了 scanf s a 這樣 c語言中...
c語言怎麼加密字元,C語言怎麼加密字元
自我程式設計 我沒注意只要小寫,我寫的是大小寫都可以的,另外附送輸入驗證。include include int main else printf 原字串為 s n加密後的字串為 s n str,str2 return 0 c語言本身是不能加密字元的,但你可以寫一個加密程式來加密。為敘述方便,不妨設...