有如下程序: #include <iostream> using namespace std; int b=3; int fun(int *k) { int b=2; b=*(k++)*b;

admin2010-03-29  31

问题 有如下程序:    #include   <iostream>    using namespace std;    int b=3;    int fun(int  *k)    {       int b=2;       b=*(k++)*b;       return(B) ;    }    int main()    }       int  a[  ];{11,12,13,14,15,16);       b=fun(&a[1])*b;       cout<<b<<end1;       return 0;    }    程序执行后的输出结果是(    )。

选项 A、24
B、72
C、11
D、33

答案2

解析 本题考核指针的应用和数组作实参的传递方法。先分析函数fun()的功能:函数fun()把形参指针所指向的变量乘b后,然后赋值给b,且指针自动下移一位。在主函数中,传入的实参为数组a的元素a[1]的地址,那么函数返回的值为2*12=24。所以程序最后输出24*3=72。
转载请注明原文地址:https://kaotiyun.com/show/mWjp777K
0

最新回复(0)