首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

生手-作业题求教

2013-01-07 
新手-作业题求教! 若有以下定义,且0i4,则不正确的赋值语句是()int b[4][6],*p,*q[4]A a[i]b[i]B pb

新手-作业题求教!
 若有以下定义,且0<=i<4,则不正确的赋值语句是()
int b[4][6],*p,*q[4];

A a[i]=b[i];   B p=b;    C p=b[i];     D q[i]=&b[0][0];

大家解释下,光有答案看不懂!
[解决办法]
看题目
int b[4][6],*p,*q[4];

分析
b: 二维数组(可视为int **),第一维b[i]是指向int[6]的指针(int *)
p: 指向int的指针(int *)
q: 指针数组([]),数组元素是指向int的指针(int *)

看选项
A q[i]=b[i]; 
q[i]是int *,b[i]也是int *,正确

B p=b;
p是int *,b是int **,错误

C p=b[i];
p是int *,b[i]也是int *,正确

D q[i]=&b[0][0];
q[i]是int *, &b[0][0]是b[0][0]的地址,也是int *,正确

答案:
所以选B

热点排行