| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 540 人关注过本帖
标题:不明白.这结果如何而来..
只看楼主 加入收藏
刘定邦
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:687
专家分:1570
注 册:2010-9-21
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
不明白.这结果如何而来..
#include<stdio.h>

void fun2(char a, char b)
{
    printf("%c%c", a, b);
}
char a = 'A', b = 'B';
void fun1()
{
    a = 'C';
    b = 'D';
}
main()
{
    fun1();
    printf("%c%c", a, b);
    fun2('E', 'F');
}
结果怎么是CDEF呢。
搜索更多相关主题的帖子: 如何 
2011-02-01 23:34
席卷天下
Rank: 1
等 级:新手上路
帖 子:29
专家分:6
注 册:2010-10-24
收藏
得分:4 
char a = 'A', b = 'B';a,b为外部变量,该声明以下的函数可直接调用它,若是某函数内的变量与外部变量相同,则外部变量被屏壁(外部变量对函数不可见);若是该声明char a = 'A', b = 'B';之上的函数想调用变量a,b,则必须在函数体内声明 extern a,b;例如:
#include<stdio.h.
int main()
{ extern a,b;
  printf("a=%d,b=%d\n");
  return 0;
}
int a=10,b=20;
 
 
 
 
 

 
 
 
2011-02-02 00:33
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:4 
比较明显的结果呀。
有全局变量,有局部变量。想想就想出来了。
2011-02-02 00:34
zzgzzg00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:388
专家分:627
注 册:2010-8-2
收藏
得分:4 
ABEF
感觉是 呵呵

粗心是大敌
2011-02-02 09:36
丞相杀手
Rank: 6Rank: 6
等 级:侠之大者
帖 子:203
专家分:462
注 册:2011-1-11
收藏
得分:4 
#include<stdio.h>

void fun2(char a, char b)
{
    printf("%c%c", a, b);
}
char a = 'A', b = 'B';
void fun1()
{
    a = 'C';
    b = 'D';
}
main()
{
     a = 'C'; b = 'D' // fun1();
    printf("%c%c", a, b);
    printf("%c%c", 'E', 'F');//fun2('E', 'F');
}
你把调用的函数的语句换成基本语句就明白了

斗不过疯子,不参与争论。
2011-02-02 09:55
huangapple
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:545
专家分:1790
注 册:2010-12-30
收藏
得分:4 
不是CDEF那是什么?  全局变量就是每个函数都可以使用修改,但如果你函数再定义了一个跟全局变量一样的,那就使用和修改你函数里定义的那个,有眯像强龙不压地头蛇。

勤能补拙,熟能生巧!
2011-02-02 11:46
快速回复:不明白.这结果如何而来..
数据加载中...
 
   



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

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