有以下程序#include <stdio.h>struct st{int x, y, z;} data[2]={3,10,2,20,15,7};ma
有以下程序#include <stdio.h>struct st{ int x, y, z;} data[2]={3,10,2,20,15,7};main(){ struct st *p=data; printf("%d,", p->y); printf("%d\n",(++p)->x); }程序的運(yùn)行結(jié)果是A.10,3 B.20,3 C.10,20 D.20,2
正確答案:C本題考查結(jié)構(gòu)體數(shù)組的相關(guān)操作。結(jié)構(gòu)體數(shù)組的定義方法與結(jié)構(gòu)體變量的定義方法一樣,只不過將變量變?yōu)閿?shù)組。數(shù)組內(nèi)的各元素在內(nèi)存中是連續(xù)存放的。題目中給出了一個結(jié)構(gòu)體st,該結(jié)構(gòu)體有三個整型成員x,y,z。結(jié)構(gòu)體數(shù)組data元素的個數(shù)為2,并對數(shù)組進(jìn)行初始化,data[0]={3,10,2},data[1]={20,15,7}。主函數(shù)main中定義了一個指針p指向數(shù)組data,第一個printf函數(shù)是輸出p->y,即data[0].y,該值等于10。第二個printf函數(shù)是輸出(++p)->x,++
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。