作业帮 > 综合 > 作业

在 C 语言中,若有以下定义和赋值语句

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/04/28 04:34:50
在 C 语言中,若有以下定义和赋值语句
int b[2][3]={0} (*p)[3];
p=b;
则对 b 数组的第 i 行第 j 列(假如 i,j 已正确说明并赋值)元素的非法引用为___________
A、*( *(p+i)+j) B、*(p[i]+j) C、*(p+i)+j D、(*(p+i))[j]
在 C 语言中,若有以下定义和赋值语句
C选项是错的
A选项*(p+i)为p[i][0]的地址,*(p+i)+j为p[i][j]的地址,*( *(p+i)+j) 也就是p[i][j]的值
B选项中p[i]相当于*(p+i),其他跟A一样了
C选项,如上面所说,*(p+i)+j为p[i][j]的地址,不能赋值
D选项,(*(p+i))为p[i][0]的地址,(*(p+i))[j]就是p[i][j]的值