这是什么意思?
----------------解决方案--------------------------------------------------------
他的意思是说你多打了个冒号
----------------解决方案--------------------------------------------------------
是会自动在末尾加一个'\0'这是没错。但这已经超过了数组的范围,,,溢出啦!
这和选项C是一样危险的,所以让我选我会选C和D!
末尾自动加0字符是在用 字符串 字面量的去做初始化时。
char a[] = "abc";或者char *a = "abc"
a的size是4,a[3]是空字符。
char a[] = {'a','b','c'};
字符数组,a的size是3,a[3]为定义,越界
----------------解决方案--------------------------------------------------------
没啊,上面就是这样写的。
----------------解决方案--------------------------------------------------------
那就更证明我选C和D的正确性是不容置疑的!
----------------解决方案--------------------------------------------------------
他的没,是说有:
我觉得d象c的字符串常量定义,对么?
[此贴子已经被作者于2007-8-26 18:48:59编辑过]
----------------解决方案--------------------------------------------------------
非要说D错,那就是构不成一个字符串。
ctype字符串是以'\0'结尾的!
同意这个观点。
char a[]={′j′,′f′,′t′}; 是定义了一个字符数组,并给三个元素赋了三个值。
而题目问的是“关于字符串的说明中”,显然要构成字符串结尾要加‘\0’的。
----------------解决方案--------------------------------------------------------
分清楚了,谢谢
----------------解决方案--------------------------------------------------------
现在知道了字符串初始划只能是char a[]={'j','f','t','\0'};如果写成char a[]={'j','f','t'};这只能是一个字符数组,不是字符串.
谢谢大家!!
----------------解决方案--------------------------------------------------------