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。变量的生命周期是它在其中声明的作用域的持续时间,但内部作用域也可以访问它。