2014-02-19 147 views

回答

3

在這個定義

char a[' ']; 

字符文字「」被提升到int和它的值被用作陣列的大小。例如,在ASCII「值」等於32。因此,這是相當於

char a[32]; 

考慮到,在EBCDIC字符文字「值」不等於32,如果我沒有記錯它等於64.

因此,根據選定的編碼,數組的大小將會不同。

對於ASCII

char a[32]; 

對於EBCDIC

char a[64]; 
4

' '是一個字符文字,它的類型爲char - 所以這實際上只是一個數字。

您系統可能使用ASCII,在這種情況下,空間的ASCII值是32,因此這將是相同

char a[32]; 
+0

只有一個+1與 「可能使用ASCII」 – manuell

4

' '是文字與值32(空白的ASCII碼的字符)。所以char a[' ']只是char a[32]

+1

只有當你的系統是ASCII。例如在z/OS下,你會發現它是'char a [64]':-) – paxdiablo

1

char a[' ']它具有字符常量' '字符。相當於32的整數,該數組將被聲明爲大小爲32char a[32]

相關問題