(a++)+(a++)为什么这个表达式计算完成后变量a的值是5?

来源:百度知道 编辑:UC知道 时间:2024/05/25 13:21:41
不好意思,我疏忽了一个数据,a的初值是3~麻烦高手详细解之~

a++的意思是先运算再自增1.
(a++)+(a++)的意思是先把a=3代入算式(a++)+(a++)进行运算得3+3=6:然后a++运行两次.得a=5;
调试下面的程序就可以看到变量数值的变化过程:

main()
{
int a=3,b;
b=(a++)+(a++);
printf("(a++)+(a++)=%d\ta=%d\n",b,a);
}

如果a的初始值是1呢 那么他的值是3
a初始值2呢 那么他的值是5
你那样用括号括起来是没有用的
(a++)+(a++) =a+++a++
这样说你懂了么
他是a加上++a 最后的++这次运行没算

public class test {
private static int a=2;

public static void main(String args[]){
a=a+++a++;
System.out.print(a);
a++;
System.out.print(a);
++a;
System.out.print(a);
}

}
刚刚才看到你说的初值3 郁闷
那样不对了啊 我算的是7哦 我用的JAVA 你用的什么

a的初值是多少啊?