| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 732 人关注过本帖
标题:各位大哥再帮帮忙,帮小弟看看这个!
只看楼主 加入收藏
oldorab110
Rank: 1
等 级:新手上路
帖 子:13
专家分:4
注 册:2010-8-31
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:10 
各位大哥再帮帮忙,帮小弟看看这个!
#include "stdio.h"
void main()
{
    int i,sum=0;
    for(i=1;i<=100;i++)
    {
    sum=sum+i;   
    }
    printf("sum=%d\n",sum);
}
运行结果是5050这是对的!可是我在for(i=1;i<=100;i++)之后加了一个分号变成
#include "stdio.h"
void main()
{
    int i,sum=0;
    for(i=1;i<=100;i++);
    {
    sum=sum+i;   
    }
    printf("sum=%d\n",sum);
}
结果却差得很多啊是101不知为什么请各位大哥赐教!
搜索更多相关主题的帖子: 大哥 void include 
2010-08-31 22:16
S_12s
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:110
专家分:670
注 册:2010-7-21
收藏
得分:2 
加了分号后,for(i=1;i<=100;i++);这语话就成了空循环,也就是只执行i++,一直加到101,再往下走,sum=0,所以sum=sum+i后sum就成了101了。
2010-08-31 22:27
kelas
Rank: 6Rank: 6
等 级:侠之大者
帖 子:176
专家分:434
注 册:2010-5-28
收藏
得分:2 
回复 2楼 S_12s
for(i=1;i<=100;i++) 跟
i = 1;
while (i <= 100){
    i++;
}
是一样的吧,那for(i=1;i<=100;i++);呢
2010-08-31 22:40
oldorab110
Rank: 1
等 级:新手上路
帖 子:13
专家分:4
注 册:2010-8-31
收藏
得分:0 
回复 2楼 S_12s
是所有的循环都不可以在后面加分号吗?
2010-08-31 23:09
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:2 
以下是引用oldorab110在2010-8-31 23:09:04的发言:

是所有的循环都不可以在后面加分号吗?
不是不可以,是要看你到底要表达什么,你加了分号表示这个循环的循环体里不执行东西而已

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-08-31 23:23
oldorab110
Rank: 1
等 级:新手上路
帖 子:13
专家分:4
注 册:2010-8-31
收藏
得分:0 
回复 5楼 御坂美琴
大哥我是刚学的!我有点不明白,它不执行东西了那怎么会加到101去呢?请大哥给我讲一下!
2010-08-31 23:44
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:2 
回复 楼主 oldorab110
你For后加分号,系统就认为For循环是空循环,For循环到分号就结束了。个人见解

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2010-09-01 00:43
erikyo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:270
专家分:1154
注 册:2010-6-10
收藏
得分:2 
2楼正解。。
2010-09-01 08:57
寒枫雪
Rank: 2
等 级:论坛游民
帖 子:53
专家分:25
注 册:2009-1-22
收藏
得分:2 
回复 6楼 oldorab110
for循环后面加 ;不是说循环不执行,只是循环体里面没东西而已,循环还是正常执行,所以最后跳出循环时i=101。
2010-09-01 09:01
nihaowoshlsm
Rank: 1
来 自:浙江
等 级:新手上路
帖 子:1
专家分:3
注 册:2010-9-1
收藏
得分:2 
for(i=1;i<=100;i++);等介于
for(i=1;i<=100;i++)
     ;
执行100遍,当i=101时结束循环;
执行sum=sum+i;sum=101;
2010-09-01 19:21
快速回复:各位大哥再帮帮忙,帮小弟看看这个!
数据加载中...
 
   



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

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