C++自加问题

发布时间:2024-05-16 07:53 发布:上海旅游网

问题描述:

例如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++

热点新闻