第5题:考查多维数组与指针
#include <stdio.h> #include <stdlib.h> void foo(int [][3] ); int main() { int a [3][3]= { { 1,2,3} , { 4,5,6},{7,8,9}}; foo(a); printf("%d \n", a[2][1]); return 0; } void foo( int b[][3]) { ++b; b[1][1]=9; }
这段程序的输出是:
(a)8 (b) 9 (c) 7 (d)以上均不对
解答:
题目自身就给了足够的提示
b[0][0] = 4
b[1][0] = 7
如下图:
++b 表示跨越a[0]的三个元素。