上面的脚本执行结果如下:
Running Vuser... Starting iteration 1. Starting action Action. Action.c(17): a=10,b=15 Action.c(11): incb()函数中的a=8,b=16 Action.c(19): a=10,b=16 Action.c(20): max(10,16)=16 Action.c(21): globals.h中的全局变量icount=10 Ending action Action. Ending iteration 1. Ending Vuser... |
根据执行结果,我们可以得出如下结论:
1. 全局变量是在函数外部定义的变量,它不属于哪一个函数,它属于一个源程序文件,其作用域是整个源程序。局部变量是在函数内作定义说明的,其作用域仅限于函数内。
2. 当局部变量和全局变量同名时,在局部变量的作用范围内,全局变量不起作用,如在Action()函数部分,a的值为10,而非全局变量8,这就回答了我们前面提的问题。当然,如果在该部分没有声明同名局部变量,则输出的内容为全局变量的值,如:变量b和“globals.h”中的全局变量icount的值,则输出值,为全局变量的值。