有以下程序#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;) 程序運行后的輸出結果是______。
A.1,3
B.2,3
C.1,4
D.1,2
正確答案:A解析:本題主要考查函數實參和形參之間的傳遞,C語言規(guī)定,實參變量對形參變量的數據傳遞是“值傳遞”,即單向傳遞,只能由實參傳紿形參,而不能由形參傳回來給實參。f(r&n)把n的地址傳遞給q,通過地址傳遞的函數可以有返回值,因此,n的值為q的返回值3,又因為p是形參變量沒有返回值,所以m的值沒有改變,因此,選項A是正確的。
詞條內容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學等領域),建議您咨詢相關領域專業(yè)人士。