下列程序的运行结果是( )。 #include<stdio.h> void sub(int*s,int*y) { static int m=4; *y=s[0]; m++; } void ma

admin2017-07-27  21

问题 下列程序的运行结果是(    )。
    #include<stdio.h>
    void sub(int*s,int*y)
    {  static int m=4;
    *y=s[0];
    m++;
    }
    void main()
    {  int a[]={1,2,3,4,5},k;
    int x;
    printf(’’\n’’);
    for(k=0;k<=4;k++)
    {  sub(a,&x);
    printf(’’%d,’’,x);
        }
    }

选项 A、1,1,1,1,1,
B、1,2,3,4,5,
C、0,0,0,0,0,
D、4,4,4,4,4,

答案A

解析 本题中sub(int*s,int*y)函数的参数是两个指针型变量,在函数体内将数组s的第一个元素赋给y。主程序内,首先定义了一维数组并赋初值,然后通过for循环,5次调用sub(a,&x)函数,每一次调用都是将数组a的第一个元素1赋给x,并输出。
转载请注明原文地址:https://kaotiyun.com/show/s7Dp777K
0

最新回复(0)