[問題] c99文件的疑問
最近看了c99文件的整數常數部分,
有點不太理解, 不知是否有高人可以解釋?
6.4.4.1 Integer constants
Syntax (語法)
其中一小段
decimal-constant: (1)
nonzero-digit
decimal-constant digit
octal-constant: (2)
0
octal-constant octal-digit
hexadecimal-constant: (3)
hexadecimal-prefix hexadecimal-digit
hexadecimal-constant hexadecimal-digit
(1)(2)(3)分別列出10進位,8進位,16進位的整數常數格式,
但是下面各又列出兩行, 不知是表示什麼意思?
※ 編輯: rdfs 來自: 123.193.68.81 (09/02 02:26)
推
09/02 02:39, , 1F
09/02 02:39, 1F
→
09/02 02:41, , 2F
09/02 02:41, 2F
→
09/02 02:41, , 3F
09/02 02:41, 3F
→
09/02 02:42, , 4F
09/02 02:42, 4F
→
09/02 03:05, , 5F
09/02 03:05, 5F
→
09/02 03:05, , 6F
09/02 03:05, 6F
推
09/02 04:45, , 7F
09/02 04:45, 7F
→
09/02 04:46, , 8F
09/02 04:46, 8F
因為c99文件中,好像冒號之後, 下面的每一行是各代表一種表示方式,
也就是說第一行和第二行是無關的, 各自代表可以獨立使用的合法格式
舉(2)為例, 看了半天, 覺得文件中的意思可能是,
八進位常數第一類可以是 0 ,
而第二類可以是 octal-constant + octal digit
根據第二類的定義, 因為0是也是一種octal-constant(屬第一類),
所以 0 + octal digit 也是一種合法的格式, 假設是06
而06 + octal digit 也是一種合法的格式
至於文件中10進位和16進位的描述, 應該也是這樣的意思?
但是這樣定義, 0似乎就不是屬於10進位的常數了?
好像要改成:
decimal-constant:
digit
nonzero-digit decimal-constant
這樣才合理?
這麼仔細看文件, 是覺得它可能寫的蠻嚴謹的.
※ 編輯: rdfs 來自: 123.193.68.81 (09/02 06:58)
推
09/02 07:03, , 9F
09/02 07:03, 9F
推
09/02 07:06, , 10F
09/02 07:06, 10F
推
09/02 07:11, , 11F
09/02 07:11, 11F
→
09/02 07:17, , 12F
09/02 07:17, 12F
※ 編輯: rdfs 來自: 123.193.68.81 (09/02 07:47)
→
09/02 07:47, , 13F
09/02 07:47, 13F
推
09/02 07:54, , 14F
09/02 07:54, 14F
推
09/02 07:57, , 15F
09/02 07:57, 15F
→
09/02 07:57, , 16F
09/02 07:57, 16F
→
09/02 07:58, , 17F
09/02 07:58, 17F
推
09/02 09:28, , 18F
09/02 09:28, 18F
→
09/02 09:29, , 19F
09/02 09:29, 19F
推
09/02 10:41, , 20F
09/02 10:41, 20F
推
09/02 10:46, , 21F
09/02 10:46, 21F