cpp中局部变量如何改变全局变量的值
How local variable can change the value of global variable in cpp
这里,内循环while(n>0)中的操作n / 10如何改变同一个while循环中n的值。内部while循环内的局部变量的操作如何改变while循环外的上层作用域变量的值。
how can the operation n / 10 which is inside the inner loop, while(n>0), can change the value of n which is inside the same while loop.
同理digit_sum = digit_sum + last_digit;
可以改变digit_sum
的值,虽然是在循环外声明的,同n
.
How the operation of local variable which is inside the inner while loop can change the value of upper level scope variable which is outside the while loop.
为什么不能呢? n
(和 digit_sum
)在循环内是 in scope。变量的生命周期是它在其中声明的作用域的持续时间,但内部作用域也可以访问它。
这里,内循环while(n>0)中的操作n / 10如何改变同一个while循环中n的值。内部while循环内的局部变量的操作如何改变while循环外的上层作用域变量的值。
how can the operation n / 10 which is inside the inner loop, while(n>0), can change the value of n which is inside the same while loop.
同理digit_sum = digit_sum + last_digit;
可以改变digit_sum
的值,虽然是在循环外声明的,同n
.
How the operation of local variable which is inside the inner while loop can change the value of upper level scope variable which is outside the while loop.
为什么不能呢? n
(和 digit_sum
)在循环内是 in scope。变量的生命周期是它在其中声明的作用域的持续时间,但内部作用域也可以访问它。