#include <stdio.h>
int n = 100;
void change() {
n = 10;
}
int main() {
change();
printf("%d\n", n);
return 0;
}
结果n的值为10,全局变量n在调用change函数后发生了改变
n = 100 # 这个n是全局变量
def f():
n = 10 # 这个n是局部变量
f()
print(n)
结果n的值还是100,未改变
在python当中可以使用global保留字在函数内部使用全局变量。
global用来声明在函数中使用的是全局变量,而不是局部变量。
n = 100
def f():
global n
n = 10
f()
print(n)
上边代码输出的n的值是10,使用global声明之后,全局变量n的值就可以修改了。
这样可能是因为python是弱类型语言,而c是强类型语言吧。