| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 577 人关注过本帖
标题:一个关于for语句的疑问
只看楼主 加入收藏
sun_shang001
Rank: 2
等 级:论坛游民
帖 子:103
专家分:78
注 册:2011-10-27
结帖率:84.62%
收藏
已结贴  问题点数:20 回复次数:9 
一个关于for语句的疑问
#include"stdio.h"
main()
{
    int i,sum;
    for(i=1,sum=0;i<=100;i++)
                sum=sum+i;
    printf("sum=%d\n",sum);
    return 0;
}
改为:
#include"stdio.h"
main()
{
    int i,sum;
    for(i=1,sum=0;i<=100,sum=sum+i;i++)
    printf("sum=%d\n",sum);
    return 0;
}结果是错的,求指点,菜鸟,望解释详细点,谢谢!
搜索更多相关主题的帖子: include 
2011-10-31 00:09
cosam
Rank: 4
等 级:业余侠客
帖 子:146
专家分:259
注 册:2011-8-25
收藏
得分:3 
要理解for循环的流程控制,
2011-10-31 00:27
张吉祥
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2011-10-31
收藏
得分:2 
逗号表达式,理解错误
2011-10-31 00:36
sun_shang001
Rank: 2
等 级:论坛游民
帖 子:103
专家分:78
注 册:2011-10-27
收藏
得分:0 
回复 3楼 张吉祥
我知道是错的  还望大哥指点下原因   
2011-10-31 00:38
laznrbfe
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:482
专家分:1599
注 册:2011-5-22
收藏
得分:15 
程序代码:
#include"stdio.h"
int main()
{
    int i,sum;
    for(i=1,sum=0;i<=100,sum=sum+i;i++)//编译器把i<=100,sum=sum+i语句当成逗号运算,
                                        //所以即使i>100了,它还是执行sum=sum+i。所以只有当sum等于0的时候才退出for
                                        //值得注意的是:i=1,sum=0也是逗号运算,不过它们是赋值语句
        printf("sum=%d\n",sum);
    return 0;
}


[ 本帖最后由 laznrbfe 于 2011-10-31 00:42 编辑 ]
2011-10-31 00:40
laznrbfe
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:482
专家分:1599
注 册:2011-5-22
收藏
得分:0 
回复 5楼 laznrbfe
正确的修改:
程序代码:
#include"stdio.h"
int main()
{
    int i,sum;
    for(i=1,sum=0;i<=100;sum=sum+i,i++);//注意此处有分号,还有注意sum=sum+i,i++的顺序不能颠倒
    printf("sum=%d\n",sum);
    return 0;
}

 
2011-10-31 00:42
sun_shang001
Rank: 2
等 级:论坛游民
帖 子:103
专家分:78
注 册:2011-10-27
收藏
得分:0 
回复 2楼 cosam
for(表达式1;表达式2;表达式3)
循环体
我理解的流程是:表达式1——〉表达式2(若为真)——〉循环体——〉式3
应该没问题吧
还有就是我那段程序没有循环体  我加上后还是错  我想应该是sum=sum+i无法判断的原因吧
不知对否
2011-10-31 00:49
xiaohan12911
Rank: 2
来 自:黑龙江哈尔滨
等 级:等待验证会员
帖 子:12
专家分:17
注 册:2011-9-20
收藏
得分:0 
sum=sum+1,在这里是循环判断语句,儿最开始那个是一个计算的表达式,二者的功能不一样
2011-10-31 07:43
飞扬冲天
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:86
专家分:122
注 册:2011-10-21
收藏
得分:0 
sum=sum+i      的话循环就不会结束了啊
2011-10-31 08:14
Zrocky
Rank: 1
等 级:新手上路
帖 子:3
专家分:5
注 册:2011-11-1
收藏
得分:0 
回复 楼主 sun_shang001
for语句的三个分号中内容都是特定的,中间的是判断语句,如果加上sum=sum+i就会出现错误。
2011-11-01 10:00
快速回复:一个关于for语句的疑问
数据加载中...
 
   



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

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