我朋友问我一个问题 i++ 和 ++i的问题结果他在tc 里面编译 我在VS里面编译吵了好久 结果我两上都编译了一下 真的结果不一样 没想明白{
int i = 1;
int t = (i++) + (i++) + (i++);
int j = i;
int T = (++i) + (++i) + (++i);
}TC
---
t=3
j=4
T=21
i=7VS
---
t=6
j=4
T=18
i=7我当然知道i++是先赋值后加1 ++i 是先加一后赋值但是我始终不明白为什么两个编译出来的结果不一样?
int i = 1;
int t = (i++) + (i++) + (i++);
int j = i;
int T = (++i) + (++i) + (++i);
}TC
---
t=3
j=4
T=21
i=7VS
---
t=6
j=4
T=18
i=7我当然知道i++是先赋值后加1 ++i 是先加一后赋值但是我始终不明白为什么两个编译出来的结果不一样?
这种问题是要我们记住i++与++i的不同,不是要我们用它来写程序的。我们只要用其中的一种作为标准写就行了,出现i++或者出现++i,而不要同时出现,这样可看性会更好一些。