注册 登录
编程论坛 C++教室

【请教】循环问题

げ訾澐み 发布于 2007-07-18 10:22, 474 次点击
int i,j;
for(j=0,i=word.size()-1;j<i;--i,++j)
{
temp=word(i);
word(i)=word(j);
word(j)=temp;


在这个语句中是先执行--i和 ++J
再执行 temp=word(i);
word(i)=word(j);
word(j)=temp
不是说语句是顺序执行的吗 那不是j=1才开始执行下面的语句的吗 ?
怎么下面的语句是从j等于0的时候开始执行啊
还是反过来的
6 回复
#2
げ訾澐み2007-07-18 11:18

是不是问题太幼稚了啊 ,那个大哥帮忙解答下。偶是新手谢谢 ,刚看两天的 C++

#3
jiangdingfen2007-07-18 11:19

本来就是从j=0开始执行的啊,
for语句是先判断在执行循环体的!
1、j=0,i=word.size()-1
2、判断j<i是否为真,为真执行3,否则退出循环
3、执行循环体
temp=word(i);
word(i)=word(j);
word(j)=temp;
4、执行--i,++j,转到2执行

#4
maoguoqing2007-07-18 11:20

先执行循环体,在执行++j

#5
げ訾澐み2007-07-18 11:36
是不是说,判断完了 for的第二个 语句(即条件)就执行循环体,然后再执行for 的第3个语句啊 。
谢谢大家的热心回答
#6
maoguoqing2007-07-18 11:46

相当于
int i = word.size()-1,j = 0;
while(j<i)
{
temp=word(i);
word(i)=word(j);
word(j)=temp
;--i;++j;
}
#7
げ訾澐み2007-07-18 12:03

谢谢知道呢 ,就是我刚才说的那个是对的咯 ,谢谢大虾的赐教,以后还请大虾多多关照

1