一个简单的问题
#include <stdio.h>
void main()
{
int i = 8;
printf("%d\n%d\n%d\n%d\n%d\n%d\n",++i,--i,i++,i--,-i++,-i--);//注意这几个式子自右向左运算
}
请问这个该怎么运算????? 又是 ++ -- 类问题……
这类问题得看编译器,不同的编译器得出的结果不同 我的在Dev-C++中
编译结果:
8
8
7
8
-7
-8
不同版本的编译器的结果是不一样的,
你想了解结果,你可以断点然后查看汇编代码,看看底层编译器的处理方法
你一定想要知道原理,你可以翻看以前的帖子,很多类似这样子的提问。
我个人的建议,“钻研”++和--没有意思,无非是一种炫技而已
从代码编写角度来看,这种连续 自增或自减 明显有风险的书写方式,你自己理解不透彻,很容易栽跟头,所以还是不要采用为好, visual studio2013:
8
8
7
8
-7
-8 教训就是,不要用一大堆,++或--的运算,很乱。 4goodworld 发表于 2020-3-23 13:34
不同版本的编译器的结果是不一样的,
你想了解结果,你可以断点然后查看汇编代码,看看底层编译器的处理方 ...
我非常同意你的看法,一个优秀的程序员。不应该写出这种含有二义性的代码。这样的问题真的没哟多大的意义。{:10_256:}
页:
[1]