有以下程序 #include void fun(int a[],int n) { int i,t; for(i=0;
有以下程序 #include <stdio.h> void fun(int a[],int n) { int i,t; for(i=0;i<n/2;i++) {t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t;} } main() {int k[10]={1,2,3,4,5,6,7,8,9,10},i; fun(k,5); for(i=2;i<8;i++) printf("%d",k[i]); printf("\n"); } 程序的運行結果是______。
A.345678
B.876543
C.1098765
D.321678
正確答案:D解析:在主函數中,定義了一維數組k,并通過調用fun函數將形參數組a指向實參數組k所在的存儲單元,這樣,a和 k共用同一存儲單元,所以對數組a的元素值的改變相當于對相應數組k的元素值的改變。在fun函數中,通過for循環(huán)對數組元素a[0]與a[4]、a[1]與a[3]的值分別作了交換,也即相當于主函數中k[0]與k[4]、k[1]與k[3]的值分別作了交換,此時k中各元素的值為5,4,3,2,1,6,7,8,9,10,故輸出k[2]到k[7]的值為321678。
詞條內容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學等領域),建議您咨詢相關領域專業(yè)人士。