有以下程序 #include #include int fun(int n) {int *
有以下程序 #include <stdio.h> #include <stdlib.h> int fun(int n) {int *p; p=(int*)malloc(sizeof(int)); *p=n; return *p; } { int a; a=fun(10); printf("%d\n",a+fun(10)); } 程序的運(yùn)行結(jié)果是______。
A.0
B.10
C.20
D.出錯(cuò)
正確答案:C解析:malloc(sizeof(int))的作用是開(kāi)辟一個(gè)長(zhǎng)度為sizeof(int)存儲(chǔ)空間,并通過(guò)強(qiáng)制類(lèi)型轉(zhuǎn)換(int*)將此存儲(chǔ)空間的地址賦給了—個(gè)整型的指針變量p。然后執(zhí)行語(yǔ)句“*p=n”,使得*p的值為10,并通過(guò)返回此值,在主函數(shù)中輸出a+10的值,即輸出20。
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢(xún)相關(guān)領(lǐng)域?qū)I(yè)人士。