【C++】For循环简单实践一个回文,却不理解如何运作

img

img


如图,不同点在于i--和--i,--i不是先减值再运算的吗?这样打印出来的为何不是word(i-1)?

执行顺序
int i=word.size()
if(i>=0)
cout<<word[i];
--i或i--
所以不用纠结是--i还是i--都是i-1,先判断,再循环体,i-1,判断,...,一直循环
如楼上所言,word[word.size()]是字符串最后边那个'\0',倒序输出字符串应该用int i=word.size()-1;

for(stat1;stat2;stat3)
其中stat1在进入for时执行一次,stat2在每次循环开始的时候执行,stat3在for代码块结束后执行一次
所以那里写i++和++i没有区别
有帮助望采纳

关键不是i--或--i;关键是 int i = word.size()-1;