求助一个数组问题!~
程序代码:
void foo(int [][3] ); main() { int a [3][3]= { { 1,2,3} , { 4,5,6},{7,8,9}}; foo(a); printf("%d" , a[2][1]); } void foo( int b[][3]) { ++ b; //++b这里怎么解释、执行之后,数组有什么变化。 b[1][1] =9; }
我是这样认为的、++b表示传入的数组b的第一个包含三个整型整数的元素地址+1,指向了第二元素,b[1][1]此时指向的是 原a数组的 a[2][1]。
但是此时变成了9.。。于是,输出是9 对么?
[ 本帖最后由 tfblc 于 2010-11-5 00:04 编辑 ]