以下程序的输出结果是( )。 #include<iostream> using namespace std; void fun(char**q) { ++q; cout<<*q<<end1; }

admin2019-06-12  28

问题 以下程序的输出结果是(    )。
    #include<iostream>
    using namespace std;
    void fun(char**q)
    {
    ++q;
    cout<<*q<<end1;
    }
    main()
    {
    static char*s[]={’’HI","HELLO’’,’’TEST’’};
    char**p;
    p=s;
    fun(p);
    system(’’PAUSE’’);
    return 0;
    }

选项 A、为空
B、HI
C、HELLO
D、TEST

答案C

解析 由程序main主函数入手,调用fun函数,在fun函数中执行“cout<<*q<<end1;”语句实现程序输出。主函数中变量char*s[]为指针数组,char**p表示p指向的字符指针数据。*p就代表p指向的字符指针。语句“p=s;"表明p指向字符指针s,而**p则是s[]中的第一个字符串“HI”。主函数将变量p传值给函数fun(char**q)中的q,在函数体内部首先执行“++q”语句,就是将q的指针指向s中的下一个字符串,即“HEILO”,所以输出语句“cout<<*q<<end1:”输出该字符串值。
转载请注明原文地址:https://kaotiyun.com/show/GU8p777K
0

最新回复(0)