下列代码输出的结果是什么?
#
include <stdio.h>
int main() {
int m[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
int(*p)[4] = (int(*)[4])m;
printf("%d", p[1][2]);
return 0;
}
下列代码输出的结果是什么?
#
include <stdio.h>
int main() {
int m[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
int(*p)[4] = (int(*)[4])m;
printf("%d", p[1][2]);
return 0;
}
找个网络代码工具跑一下就好了啊
int(*p)[4]的意思就是一个二维数组,确定列是4,行要根据实际情况计算出来
所以将m数组每4个元素作为一行,那么p这个二维数组就是
1 2 3 4
5 6 7 8
9 0 * *
p[1][2]就是二维数组的第1行第2列,也就是7