首页 > 试题广场 >

(C++部分)请问下列代码的输出是多少()

[单选题]
(C++部分)请问下列代码的输出是多少()

  • 7
  • 3
  • 8
  • 4
<p>把m显性转化成三行四列的数组并将首元素的地址赋给指向三行四列二维数组的指针p?</p><p><br></p>
发表于 2020-12-18 16:35:32 回复(0)
数组指针,说明指针指向的是一个数组,而int(*p)[4]说明p指向的是一行含有四个元素的二维数组,而(int(*)[4])m是将m的类型由int*强转为int(*)[4]类型,所以根据m数组的元素个数,p就可以理解为指向了一个三行四列的二维数组的指针啦
发表于 2022-10-03 11:10:50 回复(0)
int(*p)[4]=(int(*)[4])m; 在p中存放的数据按照4个一组存放,通过m给p赋值后p指向的地址中存放的数据格式为:{(1,2,3,4),(5,6,7,8),(9,0)},相当于二维数组: 1 2 3 4 5 6 7 8 9 0 所以输出p[1][2]就是第二行第三列的值 7
发表于 2021-03-05 17:06:55 回复(0)
int(*)[4]这一部分怎么看
发表于 2022-12-24 15:49:56 回复(0)
只是一个三行四列的矩阵。 P一二选取的就是第二行第三列的数。七。
发表于 2020-08-26 16:25:48 回复(2)