| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 426 人关注过本帖
标题:有关全局变量的问题
只看楼主 加入收藏
wluhao
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2012-9-25
结帖率:70%
收藏
已结贴  问题点数:5 回复次数:3 
有关全局变量的问题
#include<iostream>
using namespace std;
int a=8,b=6;
int f(int a,int b)
{int c=a+b;
a=c;
b=a;
return  c;
}
int main()
{int c;
c=f(a,b);
cout<<c<<" "<<a<<" "<<b<<endl;
 return 0;}此结果全局变量a,b的值8,6不变

#include<iostream>
using namespace std;
float max=0,min=0;
float average(float score[],int n)
{int i;
float sum=score[0];
max=min=score[0];
for(i=1;i<n;i++)
{sum=sum+sorce[i];
if(max<score[i])max=score[i];
if(min>score[i])min=score[i];
}
return sum/n;
}
void main()
{float avg,score[10];
inti;
for(i=0;i<10,i++)
cin>>a[i];
avg=average(score,10)
cout<<max<<min<<avg;
return 0;}
此程序运行的结果max,min都变了,max,min只是两个变量,不是指针,为啥max,min的值都变了,
请高人指点

搜索更多相关主题的帖子: return include max average 
2012-10-14 15:14
chenwh_bccn
Rank: 1
等 级:新手上路
帖 子:8
专家分:3
注 册:2012-10-14
收藏
得分:3 
你max和min定义的是全局变量,在函数average中对它有赋值操作,当然会改变了
2012-10-14 18:08
lchpersonal
Rank: 2
等 级:论坛游民
威 望:1
帖 子:34
专家分:81
注 册:2012-7-27
收藏
得分:2 
全局变量是在任何位置都可以访问的到的,所以你在函数中只要有对max 和min 赋值的操作都会改变它们的值

重剑无锋,大巧不工
2012-10-19 12:57
wluhao
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2012-9-25
收藏
得分:0 
回复 2楼 chenwh_bccn
多谢
2012-11-04 21:12
快速回复:有关全局变量的问题
数据加载中...
 
   



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

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