已知数组a中的元素为{1,2,3,4,5,6,7,8,9,,10}。从键盘上输入一个数x,输出数组

中所有小于x的元素,求解

这个二维数组实际上是一个有3个元素的一维数组,其中数组的元素又是一个有3个元素的一维数组。我们先按行优先重新排列一下:inta[3][3]={1,2,3,4,5,6,7,8,9};C和C++中的数组是从0开始编号的,第1行:a[0][0],a[0][1],a[0][2]第2行:a[1][0],a[2][1],a[1][2]第3行:a[2][0],a[2][1],a[2][2]再看你要取的值:a[1][3]在哪里呢?显然在a[1][2]之后,但该值已经超出了数组的界限(数组有3个元素),即下标溢出了,溢出到了哪里呢?因为C/C++中多维数组(存储方式)相当于连续的一维数组,因此,这里它的溢出位置恰好是a[2][0]所在的位置。现在可以给你答案了:a[1][3]=7
温馨提示:答案为网友推荐,仅供参考
相似回答