第一个是对的!!!
s是个字符串数组名,也是一个指针~,s的长度即是字符串"china"的长度:6字节,而p也是指向"china"的指针,既然都是指向同一个字符串,凭什么长度就不一样咧!!!?????
不过对于这种情况,可能就得重新考虑了:char s[10]="china",*p=s;s数组长度为10,这点没疑问,而p所指向的字符串的长度为10还是6,我就不知道了!!呵呵~~~~
至于第二个,p与s[0]肯定是不同的。就算是*p与s[0]也不见得能说相等,至少两者在用法上也有较大的差别,指针p的指向确实是字符串数组的第一个元素,但在这里它已经被定义(不同于声明)为指向具有10个元素的字符串数组,所以*p在表达式中的值是"china"而并非'c',指针也可使用下标,所以p[0]的值才是'c',说p[0]与s[0]相等那还说得过去。
不知道我说的是不是这个道理,还望高手指正~~!!
[[italic] 本帖最后由 dsjdcy 于 2008-1-1 02:59 编辑 [/italic]]