问题 单项选择题

下面程序的运行结果是( )。  #nclude<iostream.h>  int fun(inta[],int n)  {    int result=1;    for(int i=1;i<n;++)      result=result*a[i];    return result;  }  void main( )  {    int a[3] ={3,4,5};    cout<<fun(a,3)<<endl;  }

A.2

B.0

C.-2

D.1

答案

参考答案:B

解析:单目的++运算优先级高于双目的+运算,不过++的结合性是自右向 左的,而+是自左至右的,所以上面的两个表达式都是先计算a+b的值之后,a再自加1。

单项选择题
解答题