有下列程序: #include void fun(int * s,int n1,int n2) { int i,j,
有下列程序: #include <stdio.h> void fun(int * s,int n1,int n2) { int i,j,t; i=n1;j=n2; while(i<j){t=s[i];s[i]=s[j];s[j]=t;i++;j--;} } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4,9);fun(a,0,9); for(k=0;k<10;k++)printf("%d",a[k]);printf("\n"); } 程序的運(yùn)行結(jié)果是( )。
A.987654321
B.4321098765
C.5678901234
D.987651234
正確答案:C解析:從題目的主函數(shù)入手,定義了一個一維數(shù)組并賦韌值,接著調(diào)用函數(shù)fun(),fun()函數(shù)的功能為使數(shù)組中的元素逆序,當(dāng)調(diào)用 fun(a,0,3),將實(shí)參傳遞給形參實(shí)現(xiàn)數(shù)組a中a[0]-a[3]這4個元素逆序;同理調(diào)用fun(a,4,9)是將上步排列好的a數(shù)組中a[4]-a[9]這6個元素逆序;調(diào)用fun(a,0,9)是將數(shù)組中a[0]-a[9]這10個元素在逆序,再用printf()函數(shù)輸出結(jié)果為5678901234,故選項C)正確。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。