十天一刻 发表于 2016-3-21 20:17:25

求解释

i=5;j=0;下列各式中运算结果是j=6的表达式是()

A:j=i+(++j)                  B: j=++i+j//还有两个选项一看就不是,就这两个区分不了

Angel丶L 发表于 2016-3-21 20:21:43

肯定是B啊。 0自加会等于1?你自己也可以敲下代码

夜雨de街灯 发表于 2016-3-22 09:07:22

Angel丶L 发表于 2016-3-21 20:21
肯定是B啊。 0自加会等于1?你自己也可以敲下代码

++不是自加,而是自增......{:10_256:}

Angel丶L 发表于 2016-3-22 13:18:44

夜雨de街灯 发表于 2016-3-22 09:07
++不是自加,而是自增......

你赢了

奥古斯丁少爷 发表于 2016-3-22 13:59:53

哦~这个啊,上个星期老师刚装过逼, 这样解释吧,j=i+(++j)   这里的++j 呢 是要先把i+j=5+0给算了之后,j再自增为一,而j=++i+j中的 ++i呢,会在跟+j运算之前先自增1变为6,再6+0=6
就是酱紫,我老师问我们的是 int j=3, i=(j++)+(j++),,,,, int j=3 i=(++j)+(++j)
楼主你再看看这两个题会不会,会的话就差不多了吧,,,第一个是6,第二个答案是10
页: [1]
查看完整版本: 求解释