问:
定义 int str[12][9] ; 关于 str[9] 下面哪个说法是错误的 :
答:
对于二维数组 str[12][9],关于 str[9] 下面几个说法中错误的有:
1. str[9] 是一个数组 - 这种说法是正确的,str[9] 代表二维数组的第10行,是一个长度为9的一维数组。
2. str[9][0] 代表这个二维数组的第10行第1列元素 - 这种说法也是正确的。
3. str[9] 代表这个二维数组的第9行 - 这种说法是错误的。在这个二维数组中,索引从0开始,所以str[9] 代表的是第10行,不是第9行。
4. str[9] 包含9个元素 - 这种说法也是错误的。str[9] 作为一维数组,它的长度是9,但是并不包含9个元素。它包含的元素个数取决于二维数组的列数,在这个例子中,str[9] 包含9个整数,所以包含9个元素。
5. 可以使用 str[9][10] 访问这个二维数组 - 这种说法是错误的。二维数组str的大小是12行9列,所以索引范围是 str[0...11][0...8],并不存在 str[9][10] 这个元素。
所以在Above几种说法中,第3种,第4种和第5种说法是错误的。第1种和第2种说法是描述这个二维数组正确的。
总之,对于任何二维数组,正确理解行索引,列索引以及它们对应的数组范围是非常重要的。错误的索引访问可能导致运行时错误。