在C语言中,字符串常量是指由双引号 " 包围的字符序列,它以空字符 \0 结尾。让我们逐个检查这些选项:
A. “a”
这是一个字符串常量。虽然它只包含一个字符 a ,编译器会自动在末尾添加一个空字符 \0 ,因此它实际上表示的是 "a\0" 。
B. {ABC}
这不是一个字符串常量。这是一个字符列表,它表示三个字符 A 、 B 和 C 的集合,但不包括空字符 \0 。它在内存中通常表示为 {'A', 'B', 'C'} 。
C. 'abc\0'
这不是一个字符串常量。这是一个字符数组的初始化,它显式地包含了一个空字符 \0 。尽管它包含了 \0 ,但它不是用双引号包围的,因此它不是一个字符串常量。它是一个字符数组的字面量。
D. 'a'
这不是一个字符串常量。这是一个字符常量,它表示单个字符 a 。尽管字符常量在内存中通常占用一个字节,并且可以表示为 a\0 (如果它被当作字符串处理),但它本身并不是一个字符串常量。
因此,正确的答案是 A. “a” 。这是一个字符串常量,因为它是用双引号包围的,并且编译器会在末尾自动添加一个空字符 \0 。
登录后提交答案