int a=0,b=0;fun(){int a=5;printf("%d,%d\n",a,b);}

inta=0,b=0;fun(){inta=5;printf("%d,%d\n",a,b);}main(){b=5;fun();printf("%d,%d\n",a,b)... int a=0,b=0; fun() {int a=5;printf("%d,%d\n",a,b); } main() { b=5;fun(); printf("%d,%d\n",a,b); } 输出结果为5,5和0,5 有个困惑b=5时第一个a,b是5,5 而int b=5却是5,0,这个b到底是怎么回事? 求解释,谢谢 展开
 我来答
一尾流莺8541
推荐于2018-04-27 · 超过72用户采纳过TA的回答
知道答主
回答量:124
采纳率:100%
帮助的人:63.9万
展开全部
虽然在函数fun()中对a进行了赋值,但是需要注意的是这个a和公共变量中的a不同,虽然名字相同,因为fun函数中的a是有重新定义过了,属于局部变量,而不是公共变量的a,所以fun函数中的变量a你可以理解为其他名字的变量,比如c之类的,要与公共函数中的变量a区分开,他的作用域只在fun函数中有效。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式