++i 与 i++ 恼人的地方

int j = 0; j=++j  +  j++  +  j++  +  j++ 求j值

 这是一个曾经让我钻井死胡同的问题 

i++ 与 ++i 的主要区别有两个:

1、 i++ 返回原来的值,++i 返回加1后的值。

2、 i++ 不能作为左值,而++i 可以。

tem = (++j) + (j++) + (j++) + (j++);

执行到:

第一个括号: tem == 1; j==1;

第二个括号: tem== 2; j==2;

第三个货号: tem == 4; j==3;

第四个括号: tem == 7; j==4;

最后:

j = tem;

相关例子:

int k = 0;

k = k++ + k++ + k++ ++k;

求k值




最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容