嵌入式C開發基礎題(5)

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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章