| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 195 人关注过本帖
标题:请高手解释下原因!
收藏  订阅  推荐  打印
zzzrrr
Rank: 1
等级:新手上路
帖子:1
积分:110
注册:2008-7-26
请高手解释下原因!

#include<iostream.h>
void main()
{
    int s=0;int n;
    int i;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        s=s+n;    //这里
    }
    cout<<s<<endl;
}
-------------------------------
#include<iostream.h>
void main()
{
    int s=0;int n;
    int i;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        s=s+i;   //这里
    }
    cout<<s<<endl;
}


我刚学想请问下为什么s=s+i和s=s+n的结果完全不同呢??
2008-7-26 00:14
godzhu
Rank: 1
等级:新手上路
帖子:11
积分:214
注册:2008-6-23

cin>>n;                                    cin>>n;   
for(i=0;i<=n;i++)  和                      for(i=0;i<=n;i++)  
s=s+i;                                     s=s+n;
区别在于s=s+i 这里i初始值为0,循环n次累加   s=s+n  这里的n认作为你输入的数字然后在循环n次累加   结果当然不同  这个错误很严重
2008-7-26 00:24
godzhu
Rank: 1
等级:新手上路
帖子:11
积分:214
注册:2008-6-23

s=s+i
1到n的累加操作
s=s+n
n到n的累加操作
简单的说就是:比如说你输入10
那就是10的10次累加操作!
2008-7-26 00:30
共有 194 人关注过本帖
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.079406 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved