TC里变量自增和自减问题

发布时间:2024-05-06 11:52 发布:上海旅游网

问题描述:

k=(j++)*(++j)+(j--)*(--j);
a=(i++)*(++i)+(i--)*(--i);
k=18,a=2是怎么得出来的,帮我解释一下推断过程

问题解答:

不要把自己陷在这种考试式的代码里

这种东西在真实的软件开发中是永远不会出现的

不能在一条语句中对同一个变量包含两个或以上的递增或递减操作,这是错误做法。

比如:
int i = 1;
i = ++i + ++i;
这样,很多编译器都会这样处理,先把i增加到2,然后增加到3,然后i = i + i这样运算,即i = 3 + 3;最后结果就变成6了。

热点新闻