下列程序的输出结果是________。 #include sb(int s[],int b) { static int n=3; b=s[n]; n--: return(b); }

admin2012-12-03  36

问题 下列程序的输出结果是________。
    #include
    sb(int s[],int b)
    {  static int n=3;
       b=s[n];
       n--:
       return(b);
    }
    main()
    {  int s[]={1,5,6,8};
       int i,x=0:
       for(i=0;i<4;i++)
       { x=sb(s,x);
         printf("%d",x);
    }
printf("\n");
}

选项

答案8651。

解析 本题考查程序输出,程序运行时,第一次循环.i=0,调用sb(x,x)子函数,此时n=3,x=s[n]=s[3]=8,n--变为2;第二次循环i=1,调用sb(s,x)予函数,因此将n定义为静态变量,所以此时n=2,返回x=s[n]=s[2]=6;第三次循环,i=2,调用sb(s,x)子函数,此时n=1,返回x=s[n]=s[1]=5;第四次循环,i=3,调用sb(s,x)子函数,此时n=0,返回x=s[n]=s[0]=1。
转载请注明原文地址:https://kaotiyun.com/show/4rPp777K
0

最新回复(0)