| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1122 人关注过本帖
标题:哪个大哥解释下,这是论坛上看的例子!!有点地方不明白
只看楼主 加入收藏
從霝開匙
Rank: 1
等 级:新手上路
威 望:1
帖 子:79
专家分:0
注 册:2007-8-28
收藏
 问题点数:0 回复次数:17 
哪个大哥解释下,这是论坛上看的例子!!有点地方不明白
引用
#include<iostream.h>
void main()
{
int i(1),a(0); //赋值i=1;a=0;
for(;i<=5;i++)
// .
// .
// ................>(1)
{
do{
i++;// ...............>(2)
a++; //...............>(3)
}while(i<3);
i++; //...................>(4)
}
cout<<a<<","<<i<<endl;
}
/*
1.(在这之前的for(;i<=5;i++)i不就应该是2了吗怎么到了)(2)(3) i(还是=2 ?)=2;a=1; 不跳出while
2. (2)(3) i=3;a=2; 退出while
3. (4)(1) i=5; 因为5<=5,所以在做do{...}
4. (2)(3) i=6;a=3; 因为i=6>3,所以跳出while
5. (4)(1) i=8; 此时因为 i=8>5,所以跳出for
6.输出 3,8*/

[此贴子已经被作者于2007-9-11 10:10:47编辑过]

搜索更多相关主题的帖子: 例子 解释 
2007-09-10 14:40
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
以下是引用從霝開匙在2007-9-10 14:40:38的发言:

1. 在这之前的for(;i<=5;i++)i不就应该是2了吗怎么到了 (2)(3) i还是=2;

谁说的i那时就是2?


Fight  to win  or  die...
2007-09-10 15:15
從霝開匙
Rank: 1
等 级:新手上路
威 望:1
帖 子:79
专家分:0
注 册:2007-8-28
收藏
得分:0 
i不赋值1了吗?不有了个i++那不2了吗 ?我哪个地方理解错了麻烦指教!!谢谢难道是for语句全部执行完了i才+1吗?

[此贴子已经被作者于2007-9-10 15:35:51编辑过]


0→..................
2007-09-10 15:19
chen7806
Rank: 1
等 级:新手上路
威 望:2
帖 子:160
专家分:0
注 册:2007-8-5
收藏
得分:0 
以下是引用從霝開匙在2007-9-10 15:19:23的发言:
i不赋值1了吗?不有了个i++那不2了吗 ?我哪个地方理解错了麻烦指教!!谢谢难道是for语句全部执行完了i才+1吗?


问题是你i++如何执行没弄清楚。先执行后加,也就是说执行1以后才加1,第二次循环赋值为2。

2007-09-10 15:29
從霝開匙
Rank: 1
等 级:新手上路
威 望:1
帖 子:79
专家分:0
注 册:2007-8-28
收藏
得分:0 
我看书说是++i是执行前+1,i++是执行后+1 这个执行后我理解的不是很好是拿这个列子来说是执行for(;i<=5;i++)他以后还是执行
for(;i<=5;i++)
// .
// .
// ................>(1)
{
do{
i++;// ...............>(2)
a++; //...............>(3)
}while(i<3);
i++; //...................>(4)
}
以后+1呢 1!

0→..................
2007-09-10 15:34
HK狼
Rank: 1
等 级:新手上路
威 望:1
帖 子:46
专家分:0
注 册:2007-9-9
收藏
得分:0 

吧i++ 改成 ++i;

他们的区别就是这个 试了就知道了


2007-09-10 16:22
從霝開匙
Rank: 1
等 级:新手上路
威 望:1
帖 子:79
专家分:0
注 册:2007-8-28
收藏
得分:0 
这个就是一个是使用前加,一个是使用后加啊 1!那个使用后,后到时候时候是for(;i<=5;i++)还是for(;i<=5;i++)
// .
// .
// ................>(1)
{
do{
i++;// ...............>(2)
a++; //...............>(3)
}while(i<3);
i++; //...................>(4)
}

0→..................
2007-09-10 16:32
從霝開匙
Rank: 1
等 级:新手上路
威 望:1
帖 子:79
专家分:0
注 册:2007-8-28
收藏
得分:0 
回复:(chen7806)以下是引用從霝開匙在2007-9-10 15...
是啊执行完1是指执行完for(;i<=5;i++)这一句话还是整个的
for(;i<=5;i++)
// .
// .
// ................>(1)
{
do{
i++;// ...............>(2)
a++; //...............>(3)
}while(i<3);
i++; //...................>(4)
}

0→..................
2007-09-10 16:34
yuyunliuhen
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1435
专家分:0
注 册:2005-12-12
收藏
得分:0 
在你这个例子里面 i++和++i结果都是一样的。

Go confidently in the  directions of your dreams,live the life you have imagined!Just do it!
It is no use learning without thinking!
2007-09-10 16:42
從霝開匙
Rank: 1
等 级:新手上路
威 望:1
帖 子:79
专家分:0
注 册:2007-8-28
收藏
得分:0 
回复:(aipb2007)以下是引用從霝開匙在2007-9-10 14...
大哥那个个应该是多少啊 1!如果改成++i 是一样吗 ?

0→..................
2007-09-10 16:59
快速回复:哪个大哥解释下,这是论坛上看的例子!!有点地方不明白
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017245 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved