S1E24 第五题,哪位能给讲解一下
如果不上机,你能看出下边代码将打印什么值吗?#include <stdio.h>
int main()
{
int array = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int (*p) = (int (*))&array;
printf("%d\n", p);
return 0;
}
static/image/hrline/line4.png
int (*p) = (int (*))&array; 哪位帮忙分析一下这句 本帖最后由 jackz007 于 2021-9-28 21:55 编辑
毫无疑问,当然是 9 喽。
int (*p) = (int (*))&array;
这一句把 p 定义成一个末维为 3 的二维数组指针,而 p 指向了一维数组 array,那么,一维数组被 p 规划为 3 x 3 的二维数组,那么,p = {1 , 2 , 3} , p = {4 , 5 , 6} , p = {7 , 8 , 9},p 当然就是 9 了。
页:
[1]