下列程序用来判断数组中特定元素的位置所在,则输出结果为( )。 #include #include int fun(int*p,int n,int*j) {int i: *j=0: for(i=0;i

admin2021-06-10  31

问题 下列程序用来判断数组中特定元素的位置所在,则输出结果为(    )。
#include
    #include
    int fun(int*p,int n,int*j)
    {int i:
    *j=0:
    for(i=0;i    if(p[*j])*j=i:
    return p[*j]:}
    void main()
    {int a[10]={1,3,9,0,8,7,6,5.4,2};intj;
    fun(a,10,&j):
    cout<’.<
选项 A、 2,9
B、3
C、9
D、3,9

答案A

解析 由程序中的主函数main入手,调用fun厢数。其中第一个实参为数组a的名字,数组名作为实参,传递的足数组的起始地址。所以在fun函数中指针p指向了数组的第一个元素a[0]。另外实参整型i传递的是引用,也就是j的地址。在fun函数中在for循环中,依次将当前元素p与j指针值为标识的p[j]进行比较,取较大的。最后循环后的结果就是p[*]存放数组中的最大值,并且指针i为该值的标识位。可以看出数组的最大值是9标识位为2。
转载请注明原文地址:https://kaotiyun.com/show/xVfp777K
0

最新回复(0)