| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1021 人关注过本帖
标题:还是for和while的问题
只看楼主 加入收藏
chris223
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-9-22
收藏
 问题点数:0 回复次数:10 
还是for和while的问题
//while 输出结果为:9 8 7 6 5 4 3 2 1 0
#include<iostream>
using namespace::std;
int main()
{
int val=10;
while(val>0)
{
- -val;
cout<<val<<' ';
}
cout<<endl;
return 0;



//for 输出结果为:10 9 8 7 6 5 4 3 2 1
#include<iostream>
using namespace::std;
int main()
{
for(int val=10;val>0;- -val)
cout<<val<<' ';
cout<<endl;
return 0;
}

这两种循环的条件是一样的,循环次数都是10次,可产生的结果却不一样,有谁知道这种差别在实际中有什么意义吗?
或者是说我们应该怎么利用这种差别?最好是举例说明:
请大家发表一下自己的看法
搜索更多相关主题的帖子: val int std cout using 
2007-10-08 03:46
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
收藏
得分:0 
第一个程序先执行val>0

再执行--val

第二个程序先执行--val

再执行val>0

你只要把--val改成val--结果就一样了

自我放逐。。。
2007-10-08 04:56
chris223
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-9-22
收藏
得分:0 

不对啊!我试过了,也不对

[此贴子已经被作者于2007-10-8 5:23:01编辑过]


八度驿站 8du.
2007-10-08 05:14
远去的列车
Rank: 1
等 级:新手上路
威 望:2
帖 子:205
专家分:0
注 册:2007-8-7
收藏
得分:0 

while(val>0)
{
- -val;
cout<<val<<' ';
}

改成
while(val>0)
{
cout<<val<<' ';
--val;
}


C++学习
2007-10-08 08:31
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
收藏
得分:0 
omg
lz的程序真的通过编译了?
我想知道用的是什么编译器
真是神了
"--"写成"- -"了都行

[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2007-10-08 12:26
snipered
Rank: 1
等 级:新手上路
威 望:1
帖 子:90
专家分:0
注 册:2007-10-5
收藏
得分:0 

把2楼和4楼的合起来就会得到正确结果了


2007-10-08 13:58
孤魂居士
Rank: 2
来 自:老A(中国地大)
等 级:论坛游民
威 望:4
帖 子:1142
专家分:18
注 册:2007-5-21
收藏
得分:0 
好多人问这个问题啊  斑竹  要多多解释啊

准备用3年做个高级软件工程师 10年也做不成。准备用10年做成高级软件工程师 3年就成了QQ 群 45771086
欢迎版主...欢迎JAVA爱好者...
一起从深夜 到凌晨...
2007-10-09 10:08
jack_sqh
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-10-9
收藏
得分:0 
//while 输出结果为:9 8 7 6 5 4 3 2 1 0
#include<iostream>
using namespace::std;
int main()
{
int val=10;
while(val>0)
{
- -val;
cout<<val<<' ';
}
cout<<endl;
return 0;



//for 输出结果为:10 9 8 7 6 5 4 3 2 1
#include<iostream>
using namespace::std;
int main()
{
for(int val=10;val>0;- -val)
//while 输出结果为:9 8 7 6 5 4 3 2 1 0
#include<iostream>
using namespace::std;
int main()
{
int val=10;
while(val>0)
{
- -val;
cout<<val<<' ';
}
cout<<endl;
return 0;



//for 输出结果为:10 9 8 7 6 5 4 3 2 1
#include<iostream>
using namespace::std;
int main()
{
for(int val=10;val>0;- -val)
cout<<val<<' ';
cout<<endl;
return 0;
}
cout<<endl;
return 0;
}

在for循环中先执行//cout<<val<<' ',再--val;

2007-10-10 15:59
pm031009
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-9-11
收藏
得分:0 
int val=10;
while(val>0)
cout<<val--<<' ';
2007-10-10 17:30
chris223
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-9-22
收藏
得分:0 
经大家指点,我终于把循环结构和++  --的关系搞清楚了,谢谢大家

八度驿站 8du.
2007-10-11 18:16
快速回复:还是for和while的问题
数据加载中...
 
   



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

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