回复 楼主 yuriazukii
28
1.首先int a = 4;是定义全局变量,作用于整个源程序,所以s初值等于4;
2.调用f()函数时由出现static修饰的局部变量,此时此静态变量a有效,全局变量无效,a值为 5作用域为f()函数,但变量周期为开始到结束;
3.在f()函数内又定义同名的a普通局部变量,作用域和变量生命周期都为{}内;
变量作用域原则:我的地盘我做主
第一次循环时:t=7 a=5
t+a++=12
s=4+12=16
(a++ 下次加1)
第二次循环时:t=6 a=6
s= 16+6+6=28