在c语言中,变量有全局变量和局部变量之分,这一点和很多高级语言类似,如c#,java等.不过与c#,java中的局部变量如在全局变量作用域内则不允许与全局变量名相同,而c语言是允许这样做的.这样的做法极不提倡,但是c语言既然允许这么做,就分析一下其变量名相同时在不同位置调用该变量名时所实际调用的是哪个变量值. 代码如下: #include <stdio.h> //全局变量 //作用域:从定义开始到文件结束 //默认初始值为0 int c = 1; int test() { int c = 2;…
遇到全局变量与局部变量的时候总是出一些或多或少的问题,于是专门花时间去认真研究了一下全局变量与局部变量. 这是在网上看到的一个关于全局变量与局部变量的代码,看了下作者的解析,自己也进行了研究. <script> var a =1; function test(){ alert(a); var a = 2; alert(a); } test(); alert(a); </script> 第一反应的输出结果应该是1 2 1,其实结果不对(正确的运行结果 undefined 2 1)…