有以下程序#include "stdio.h"void fun(int *a,int *b){ int c=20,d=20; *a=c/3; b=d/5;}ma
有以下程序#include "stdio.h"void fun(int *a,int *b){ int c=20,d=20; *a=c/3; b=d/5;}main(){ int a=3,b=5; fun(&a,&b); printf("%d,%d\n",a,b);}程序的運行結(jié)果是A.6,5 B.5,6C.20,25 D.3,5
正確答案:A在本題中,首先定義了一個fun函數(shù),函數(shù)中用兩個指針變量作為形參,在函數(shù)體中,定義了兩個整型變量,然后做除法運算,并試圖將結(jié)果保存到形參中,語句“*a=c/3;”中由于變量c與3都是整型,其運算結(jié)果也應(yīng)該為整型,運算過程中舍去小數(shù)部分,得到計算結(jié)果為6,并保存到指針變量a指向的存儲單元中;語句“b=d/5;”同樣是整數(shù)運算,其運算結(jié)果為4,但很明顯,賦值的方法不正確,不能改變指針變量b指向單元的值。在主函數(shù)中,定義了兩個整型變量,并分別賦初值,然后調(diào)用fun函數(shù),由于函數(shù)的形參是指針變量,采用的傳值方式
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。