问题描述:
例如a+++b,是(a++)+b,还是a+(++b)?
问题解答:
编个程序测试下不就知道了
#include<iostream.h>
void main()
{
int a=0,b=0;
a+++b;
cout<<a<<"\t"<<b<<endl;
}
结果是a=1,b=0;
#include<stdio.h>
void main()
{
int a=1,b=1,c;
c=(a+++b);
printf("%d, %d",a,c);
}
输出2,2
所以是先c=(a+b) 然后a++
语言几乎都是共通的,下面用as测试了一下
var a:Number=2;
var b:Number=3;
var c:Number=a+++b;
trace (c);
trace (a);
trace (b);
//输出:
5
3
3
所以是(a++)+b
应该是(a++)+b;
++的优先级高于+;
++结合性是自右向左,因此先考虑到前两个加号。
a+b以后a++