以下能正确定义字符串的语句是(D)

以下能正确定义字符串的语句是(D)
A.char str[ ]={′\064′};
B.char str="kx43";
C.char str=";
D.char str[ ]="\0";
怎么不是B呢

char 声明字符变量 字符变量的规格:占用一个字节的内存空间(字符串根据它的长度来确定它在内存中占用的字节数,只有空字符串为1个字节。),一般以字符型或者整型数据处理。

所以char str = "kx43"只能把字符 'k' 放进去。而不是字符串。像小仙说的那样,B应该用字符串指针指向字符串常量的形式(char* str = "kx43";)才能正确引用字符串。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-06-09
b正确的改法应该是:char* str = "kx43";

因为char是定义字符变量的,不能定义字符串。说简单点就是,定义char类型的,后面变量只能是在''中,而不能在“”中。本回答被网友采纳
第2个回答  2013-04-11
B要对的话C也就对了
第3个回答  2013-04-11
D对,
B为什么不对呢,因为这里 str 是char型的,就是说 str 只有一个字节,一个字节就不是字符串,字符串的最后是以 \0 为结尾的,占用一个字节。所以这里的 str 不能初始化为 "kx43"。

字符串 "kx43" 实际上就是数组 {'k','x','4','3','\0'}本回答被网友采纳
第4个回答  2013-04-12
B和C都是字符,A为什么不行呢?D确实没问题。