首页 > 试题广场 >

下列程序输出结果是:() #include ...

[单选题]
下列程序输出结果是:()
#include <stdio.h>
#define N 20
void fun (int a[N],int n,int m) { 
int i,j; 
for (i=m;i>n;i--)  
a[i+1]=a[i];
}
int main() {  
int i,a[N]={1,2,3,4,5,6,7,8,9,10};  
fun(a,2,9);  
for(i=0;i<5;i++) {     
printf("%d",a[i]); 
   }  
return 0;
}
  • 12344
  • 23244
  • 24256
  • 21344
A
这道题不需要计算,a[i+1]=a[i]  且在一个 i>n 的前提下,a[1]最起码没有被交换到,四个选项只要A a[0]没变
发表于 2019-08-22 16:12:21 回复(0)
fun函数的范围为a4-a10,不是a3-a10,因为a3=a[2+1],即a[2+1]=a2,将a2的值赋予a3,但a2不符合条件i>2,所以a3的值无法取到,即,a3的值不变仍是a3=4,但后面的值依次改变,a10=10;a9=9···a4=4.所以输出a[i]为12344(为了方便输入,我没有每一个数组都加上[],但不影响阅读和理解)。
发表于 2019-09-23 14:54:36 回复(0)