我是c ++及其开发人员的新手。我用了

static const int ipx[7][2] = { {-1, 0}, {-1, -1}, {-1, 1}, {-2, 0}, {-2, -1}, {-2, 1}, {0, 0} };


当我打印该数组的值时,得到的结果如下。谁能解释为什么会这样。谢谢

printf("-> %i \n",ipx[3][1]); // prints -> 0
printf("-> %i \n",ipx[7][1]); //prints-> 28
printf("-> %i \n",ipx[7][0]); //prints ->-> 1
printf("-> %i \n",ipx[5][1]);  //prints -> 1


预先感谢您。

最佳答案

C ++数组的索引为0,因此打印出ipx[7][0]是未定义的行为,因为索引针对7个元素的数组运行0..6。您可能想要ipx[2][1]ipx[6][1]ipx[6][0]ipx[4][1]

关于c++ - C++多维数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29135785/

10-08 22:15