第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]的三個元素。