D没看懂,不是p是数组的首地址,那*p是什么?
p是一个指针数组,for循环的作用是让p[0]指向str数组的第一行元素首地址,p[1]指向str数组的第二行元素首地址,p[2]指向str数组的第三行元素首地址,p[3]指向str数组的第四行元素首地址。
由于p是一个数组,所以数组名p代表的是这个数组的首地址,也就是p[0]的地址,所以*p就是指针p[0]的值也就是str[0]的值。
回复 qqq:恩..好吧,谢谢,
有以下程序段 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'