| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 537 人关注过本帖
标题:输出
只看楼主 加入收藏
zfzdhz
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2008-8-21
收藏
 问题点数:0 回复次数:3 
输出
#include"stdio.h"
#define MAX 5
int k,a[MAX];
main()
{
 fun1();fun2();fun3();
printf("\n");
}
fun1()
{
for(k=0;k<MAX;k++)
a[k]=k+k;
}
fun2()
{
int a[MAX],k;
for(k=0;k<5;k++)
a[k]=k;
}
fun3()
{
int k;
for(k=0;k<MAX;k++)
printf("%d",*(a+k));
}

输出怎么是02468呢
不是01234??
搜索更多相关主题的帖子: 输出 
2008-09-14 14:49
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
你得多看看作用域的知识...

最后那个fun3()调用的是全局的a[MAX](在fun1()调用时,已经将它赋值了...),可不是fun2()中定义的那个a[MAX]...

2008-09-14 15:21
zfzdhz
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2008-8-21
收藏
得分:0 
fun2()不会将fun1()中赋的值覆盖掉吗
2008-09-14 16:39
gao136536
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2008-6-24
收藏
得分:0 
fun1()中调用的是全局数组,而fun2()中是有定义了一个局部数组,只在fun2()中起作用,在别的地方不起作用;这是局部变量与全局变量的区别;fun3()调用的是全局变量,就是在fun1()中赋值02468的那个数组。
2008-09-14 16:47
快速回复:输出
数据加载中...
 
   



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

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