4399APPLE 发表于 2013-12-31 15:27
i++的意思是,先执行赋值语句,i再自加
++i的意思是,i先自加,再执行赋值语句
所以最后的输出就是:
rosynirvana 发表于 2013-12-31 12:08
首先要明白,并非所有能通过编译的代码都是正确的代码
这种时点有问题的代码,gcc会给警告的
我强烈推荐 ...
rosynirvana 发表于 2013-12-31 12:08
首先要明白,并非所有能通过编译的代码都是正确的代码
这种时点有问题的代码,gcc会给警告的
我强烈推荐 ...
嗨,强哥! 发表于 2014-7-22 08:38
我个人理解:
像自增自减这类的表达式,他原先的设计思想是简化程序,而不是像楼主举例的把程序复杂化 ...
rosynirvana 发表于 2014-7-22 09:34
可惜国内考试喜欢考这种东西
而且出题人自己也不知道是标准中怎么规定的
嗨,强哥! 发表于 2014-7-22 10:06
看了你关于自增的解释,第一次知道了程序执行的时序问题,以及语句执行的时序。
i++; ++i 在后面没有 ...
rosynirvana 发表于 2014-7-22 10:13
时序点不只有分号有
例如&&也有
j = i ++ && -- i;
嗨,强哥! 发表于 2014-7-22 11:10
时序点不只有分号有
例如&&也有
j = i ++ && -- i;
rosynirvana 发表于 2014-7-22 11:17
时序问题,对比一下就知道了
j = i++ && --i;不会有问题
嗨,强哥! 发表于 2014-7-22 14:04
[mw_shl_code=c,true]#include
#include
int main()
rosynirvana 发表于 2014-7-22 16:01
j是0没问题
k那句是未定义的
欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) | Powered by Discuz! X3.2 |