int i=3;k=(i++)+(++i)+(i++);求k,i的值

问题描述:

int i=3;k=(i++)+(++i)+(i++);求k,i的值
int i=3;k=(++i)+(++i)+(i++);求k,i的值
int i=3;k=(++i)+(++i)+(++i);求k,i的值
int i=3;k=(i++)+(i++)+(i++);求k,i的值
这几个到底怎么区分啊.谁那救救我啊.不要去百度copy哈.知道的高手相助啊.在线等
1个回答 分类:综合 2014-10-04

问题解答:

我来补答
int i=3;k=(++i)+(++i)+(i++);
k=15,i=6;
int i=3;k=(++i)+(++i)+(++i);
k=18,i=6
int i=3;k=(i++)+(i++)+(i++);
k=9,i=6
i=6就不用说了,不管哪种,i都是加了三次,由3到最后的6
主要区别在于i++是先运算,后执行i=i+1
++i是先执行i=i+1,后运算
所以第一个先执行了两次i=i+1后i=5,三个相加后结果是15,然后再加1,i=6
第二个是执行了三次i=i+1后i=6,三个相加后结果是18
第三个是先执行相加,结果为9,后执行三次i=i+1,i=6
 
 
展开全文阅读
剩余:2000