| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 522 人关注过本帖
标题:好奇怪,变量定义在 main 函数外和函数内为什么结果不一样
只看楼主 加入收藏
未未来
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:182
专家分:157
注 册:2012-11-6
结帖率:94.87%
收藏
已结贴  问题点数:20 回复次数:2 
好奇怪,变量定义在 main 函数外和函数内为什么结果不一样
本来是一道简单的在数组找逆序对的题目,但是老测试不对,后来惊奇的发现,我把mu定义在main函数外面和定义在main函数里面结果在数组小的时候是一样的,但是数组大小达到500的时候,两个结果就产生了差异,,变量定义在main函数外和函数内为什么会有区别的
程序代码:
#include<iostream>
#include<fstream>
using namespace std;
int mu=0;  //情况一 
int main(){
int mu=0;  //情况二 两个情况不一样
ifstream infile("rebuf.txt"); //利用重定向从rebuf.txt读取数
    cin.rdbuf(infile.rdbuf());
int shu[500];
for(int i=0;i!=500;++i){
    cin>>shu[i];
}
int length=sizeof(shu)/sizeof(int);
for(int i=0;i!=length;++i){
    for(int j=i+1;j!=length;++j){
        if(shu[i]>shu[j])
            ++mu;
    }
}
cout<<mu<<endl;


return 0;

}
2014-06-19 14:30
未未来
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:182
专家分:157
注 册:2012-11-6
收藏
得分:0 
后来重新生成了5000个数,然后再测试又一样了,,无语了,
2014-06-19 14:34
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:20 
一个是局部变量 一个是全局变量  而已

DO IT YOURSELF !
2014-06-19 14:49
快速回复:好奇怪,变量定义在 main 函数外和函数内为什么结果不一样
数据加载中...
 
   



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

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