1.例题1
先看看这道题,猜猜看,编译结果会是什么?
你猜对了吗。这里说说我的理解:
swap函数中的x y是使用的全局变量所定义的x y,而我们知道,全局变量的作用域不受函数的影响,会一直存在。而主函数所使用的x y是局部变量x y,局部变量出了定义变量的函数之后,就会销毁,所以说这道题目简化一下就是这样:
变种1:
这里提一句:当全局变量与局部变量撞名时,选择局部变量优先原则(就近)。主函数中打印的是全局变量,而swap函数交换的时局部变量。
变种2:
这里的主函数和swap函数中的x y皆是全局变量中定义的x y。
而全局变量不受函数的结束而结束,在函数中改变全局变量,主调函数中可以看到改变之后的结果
2. 例题2:
再看看这道题目,编译结果会是什么呢?这道题是不是与例题1的变种2有的像呢。
相信聪明的你已经猜到结果了。
这里的主函数和prt函数中的i是一样,都是全局变量的 i。
变种:
此时结果呢?
我就不说咯,留给聪明的你们啦!