現(xiàn)有如下程序段#include"stdio.h"main(){int a[5][6]={23,3,65,21,6,78,28,5,67,25,435,76,8,
現(xiàn)有如下程序段 #include"stdio.h" main() { int a[5][6]={23,3,65,21,6,78,28,5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21, 1}; int i=0,j=5; printf("%d\n",*(&a[0][0]+2*i+j-2));} 則程序的輸出結(jié)果為
A.21
B.78
C.23
D.28
正確答案:A解析: 通過地址來引用二維數(shù)組,若有以下定義:int a[3][4],i,j;且當(dāng)0≤i3,0≤j4,則可以有以下幾種方式來引用數(shù)組中的第i行,第j列的元素:a[i][j], *(a[i]+j),*(*(a+i)+j),(*(a+i))[j],*(&a[0] [0]+4*i+j)。表達(dá)式&a[0][0]+2*i+j-2相當(dāng)于是地址&a[0][0]加上多少偏移量。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。