能麻烦解释一下这4个选项吗?区分不清了。
p是一个存放地址的数组,a中的p[3]代表的是字符串“ddd”的首元素地址,所以*p[3]就是这个字符串的首元素'd',不是字符串是字符;
B和A是同理;
C代表的是“ccc”的字符串首元素地址
D代表的是“aaa”的字符串首元素地址
只要是地址就可以正确调用字符串,
回复 嘿嘿大人:这里的D选项,按照A的解释,不是应该也是字符串"aaa"的的首元素'a'吗?p的前面也有一个*。
回复 匿名课官:p代表的是首元素地址的地址,如果你是*p【0】才是代表的a,或者**p代表的是a
有以下程序段 char str[ 4 ][ 12 ]={"aaa","bbb","ccc","ddd" }, *p[4]; int i; for( i=0; i<4; i++ ) p[i]=str[i]; 以下选项中不能正确引用字符串的是( ) A. *p[3] B. p[3] C. str[2] D. *p
答案:A
解析:A错误 *p[3] 指的是字符'd'