| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1533 人关注过本帖
标题:局部变量个全局变量求助
只看楼主 加入收藏
yj2822263
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-12-2
收藏
 问题点数:0 回复次数:10 
局部变量个全局变量求助
以下这个程序 为什么算出来是(10,20,40,40)而不是(20,10,40,40)  局部变量和全局变量在这里是怎么回事
int x1=30,x2=40;
main()
{
  int x3=10,x4=20;
   sub(x3,x4);
   sub(x2,x1);
   printf("%d,%d,%d,%d\n",x3,x4,x1,x2);
}
  sub(int x,int y)
{
  x1=x;x=y;y=x1}
搜索更多相关主题的帖子: 变量 全局 局部 
2007-12-06 13:20
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
收藏
得分:0 
调用sub(x3,x4)这个子函数你能交换x3和x4这两个变量的值吗?
sub(int x,int y)你注意这两个形参的类型

英者自知,雄者自胜
2007-12-06 13:25
wzhgzj
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2007-9-6
收藏
得分:0 
噢噢!
全局变量不影响局部的
 sub(int x,int y)
{
  x1=x;x=y;y=x1这里的X1改了成x就可以了么

命运在我手中
2007-12-06 13:25
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
sub(x2,x1);

怎么得到40 40 应该是 40 30 吧

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-12-06 13:29
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
收藏
得分:0 
回3#楼的,调用sub(x3,x4)后主函数也不能改变x3和x4的值,因为你传进去的实参类型不是指针类型,而是整型。虽然sub(int x,int y)这个函数可以完成交换两个数的功能,传进去的两个值是实参的副本,当调用返回后,局部变量的值被系统自动回收,主函数中的x3和x4并没有改变

[[italic] 本帖最后由 静思 于 2007-12-6 13:33 编辑 [/italic]]

英者自知,雄者自胜
2007-12-06 13:31
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
LS100分

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-12-06 13:33
yj2822263
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-12-2
收藏
得分:0 
那为什么后面的又是 40,40呢  为什么不是40,30呢
2007-12-06 13:55
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
因为你交换函数```

中间变量是X1````

为什么``自己想``

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-12-06 14:00
夜礼服假面
Rank: 1
等 级:禁止访问
帖 子:92
专家分:0
注 册:2007-11-26
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2007-12-06 14:16
jxj777
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-10-27
收藏
得分:0 
x1 x2全局变量
x3 x4局局变量
sub(x3,x4)值传递,无返回值,所以不改变形参,函数结束,变量自动释放
sub(x2,x1) 全局变量,函数结束不释放变量,x1=x2,故x1 x2 都为40

一个人的力量是缈小的....... 互帮互助才是出路
2007-12-07 13:22
快速回复:局部变量个全局变量求助
数据加载中...
 
   



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

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