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

 我来答
刺任芹O
2022-11-16 · TA获得超过6.2万个赞
知道顶级答主
回答量:38.7万
采纳率:99%
帮助的人:8990万
展开全部

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

扩展资料:

C语言中的 i++ 和 ++i 的区别

i++和++i的区别就是:

i++ :先引用,后增加

++i :先增加,后引用

换句话就是:

i++ : 先在i所在的表达式中使用i的当前值,再让i加1

++i : 先让i加1,再在i所在的表达式中使用i的新值

取决于++和i的相对位置:

++在i前面,i先加1,然后在表达式中用i的值;++在i后面,先在表达式中用i的值,然后i再加1。

例如:

1、i ++:

int i = 0;

while (i < 10) {

i ++;

}

2、++i:

int i = 0;

while (i < 10) {

++ i;

}

1与2,经过运算后,i的值都是10。在while和for循环中的 ++i 和 i++ 是没有区别的。

参考资料来源:INT-百度百科

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式