问题
单项选择题
下面程序的运行结果是( )。 #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。