早教吧 育儿知识 作业答案 考试题库 百科 知识分享

请分析一下四个选项intw[3][4]o={{0,1},{2,4},{5,8}};int(*p)[4]=w;则数值为4的表达式是A)*w[1]+1\x05B)p++,*(p+1)\x05\x05C)w[2][2]\x05D)p[1][1]答案是D我希望分析一下每个选项的意思

题目详情
请分析一下四个选项
int w[3][4]o={{0,1},{2,4},{5,8}};
int(*p)[4]=w;
则数值为4的表达式是
A) *w[1]+1 \x05B) p++,*(p+1)\x05\x05
C) w[2][2] \x05D) p[1][1]
答案是D我希望分析一下每个选项的意思
▼优质解答
答案和解析
现在p和w指向同一个数组.
A:*w[1] + 1是3.w[1]是一个指向w[1][0]的指针,而那里的值为2.
B:p++,*(p + 1)的值是一个指针.从左向右执行,p++之后p指向w[1],(p + 1)指向w[2].表达式的值为&w[2][0].
C:w[2][2]没有出现在初始化式里,值应该是0……
D:p[1][1]就是w[1][1],值为4.
(另外,楼上上对于A的解释是错的,楼上对于B的解释是错的,编译一下就知道了)