语句int i=4; k=(i++)+(i++)+(i++);执行过后i的值为( )。

2024-12-04 18:52:36
推荐回答(3个)
回答1:

i=7
k=12
因为++是右结合运算符,所以是先执行完k=(i++)+(i++)+(i++);(注意执行这一句时,i的值始终为4),然后i才加1的,有3个(++i),所以加3次,因为k=(i++)+(i++)+(i++);已经执行完了,所以i自加后不会影响到k的值,所以i=7,k=4+4+4+12;

如果是k=(++i)+(++i)+(++i);则是i先加1,计算第一个++i时,i=5,计算第二个++i时,i=6;然后计算k=(++i)+(++i)=6+6=12;然后再计算第三个++i;i=7;最后计算k=22+(i++)=12+7=19;

++和--都是右结合运算符,单独用(即单独作一条语句)时++i和i++没什么区别,但是在如果++i和i++是一个语句的一部分时,++i和i++就是有区别的了。

回答2:

6

回答3:

i=7;
k=15;