有以下程序#includevoid f(int *p,int *q);main(){ int m=1,n=2,*r=&m;f(r, &n
有以下程序 #include<stdio.h> void f(int *p,int *q); main() { int m=1,n=2,*r=&m; f(r, &n); printf("%d,%d",m,n); } void f(int*p,int*q) {p=p+1; *q=*q+1;) 程序運(yùn)行后的輸出結(jié)果是______。
A.1,3
B.2,3
C.1,4
D.1,2
正確答案:A解析:本題主要考查函數(shù)實(shí)參和形參之間的傳遞,C語言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只能由實(shí)參傳紿形參,而不能由形參傳回來給實(shí)參。f(r&n)把n的地址傳遞給q,通過地址傳遞的函數(shù)可以有返回值,因此,n的值為q的返回值3,又因?yàn)閜是形參變量沒有返回值,所以m的值沒有改變,因此,選項(xiàng)A是正確的。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。