[问题] for循环里面 ++i的问题?

楼主: yongb (火系见习魔法师 )   2018-05-20 07:41:32
开发平台(Platform): (Ex: Win10, Linux, ...)
ubuntu14.04
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
gcc5.4
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
null
问题(Question):
我昨天刷题的时候
有一题我因为某个原因需要
for(int i=0;i<=5;++i)
结果发现
i是从0跑起?
正常来说不是应该要从1跑起吗?
我的认知是++i这种东西在该行会直接生效
我尝试了一下不用for,直接printf试试,结果跟我的认知是一样的
我爬了置底文
for循环的先后顺讯,莫非是第一轮不会++i?
但这个看法又不合理,如果我用i++,下一轮就会++,表示第一轮就有生效了?
半夜睡觉一直想这件事情都没睡好,早上赶紧上ptt提问
还是各位大大不吝指教小弟
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
https://ideone.com/4eZvhh
作者: KanzakiHAria (神崎・H・アリア)   2018-05-20 07:53:00
作者: b0920075 (Void)   2018-05-20 08:39:00
先初始化再判断条件,然后执行回圈内的事情,最后更新i再说一个statement是以分号为基准吧,跟一行没关系
作者: stupid0319 (征女友)   2018-05-20 08:45:00
你把for一行分三行写,就不会有这个问题了
作者: testPtt (测试)   2018-05-20 08:47:00
单纯省空间
作者: ilikekotomi (Young)   2018-05-20 10:49:00
看神崎大大贴的explanation就知道了
作者: djshen (djshen)   2018-05-20 11:45:00
#1MNSjNfA不就用过i++了
作者: forever84721 (Jay)   2018-05-21 00:03:00
改成while写你可能就懂了for第三个是每次跑完 要做的事最后要i++ ++i不都一样 +完再去第二的判断式 成立再继续
作者: bhbbbbb (影)   2018-05-21 20:04:00
你的for循环第一次就是跑i=0第二次1最后一次4,不懂你的问题在哪,一直都是这样吧

Links booklink

Contact Us: admin [ a t ] ucptt.com