c语言 第12题为什么选D
1个回答
展开全部
int *p[3];
[]优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组,
它有3个指针类型的数组元素。
执行p+1是错误的,这样赋值也是错误的:p=a;
因为p是个不可知的表示,只存在p[0]、p[1]、p[2]; (注意!)
而且它们分别是指针变量可以用来存放变量地址。
但可以这样 *p=a; 这里*p表示指针数组第一个元素的值,
a的首地址的值。
int a[3]={1,2,3 }; int *p[3];
p[0]=&a[0]; 是正确的。 *p=a; 是正确的。
选 D. p[0]=&a[0];
[]优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组,
它有3个指针类型的数组元素。
执行p+1是错误的,这样赋值也是错误的:p=a;
因为p是个不可知的表示,只存在p[0]、p[1]、p[2]; (注意!)
而且它们分别是指针变量可以用来存放变量地址。
但可以这样 *p=a; 这里*p表示指针数组第一个元素的值,
a的首地址的值。
int a[3]={1,2,3 }; int *p[3];
p[0]=&a[0]; 是正确的。 *p=a; 是正确的。
选 D. p[0]=&a[0];
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询