已知s是字符型變量,下面正確的賦值語句是( )。
A.s=’abc’; B.s=’\08’;
C.s=’\xde’; D.s=”\”;
選什麼 為什麼?
B是正確的
首先s是一個字符型變量,也就是char型,那麼它只能接收一個字符
A. 'abc'不是一個字符,錯誤
B. 正確'\0'表示一個空字符,也就是什麼都沒有,所以s=’\08’和 s='8' 是等價的
C. 道理和A一樣
D.\是一個轉義字符所以如果你要接收'\'這個字符 必須寫成s='\\'
並且C中 s=’\xde’;是16進制,理論上這個賦值是可以進行操作的
但是由於你定義的是char型,所以它只有1個字節,那麼它能表示的最大正整數只有-128~+127
de換算成十進制就是222 所以數據會溢出
而且當輸出為char型的時候,這個字符是不能正常輸出的