C++ 如何在循环外打印总和?我认为有';这是全局变量和局部变量减速的错误

C++ 如何在循环外打印总和?我认为有';这是全局变量和局部变量减速的错误,c++,loops,global-variables,cout,local-variables,C++,Loops,Global Variables,Cout,Local Variables,当我在C++中每次使用一个卷轴打开第六个最后一行(cout )时,创建一个新的范围,当关闭时,它被破坏。每个范围都可以访问其他范围,只要它们不被破坏。 在第一个while循环中,您的sum在一个作用域内声明。因此,当while循环关闭时,该作用域将被销毁,从而导致您的sum声明无效/销毁 您必须在循环之前声明sum,并且您可能想要初始化它 int q = 0, value = 1, w = 1, sum = 0; while( ... ) { ... } 问题是您的sum是在循环内声明

当我在C++中每次使用一个卷轴打开第六个最后一行(cout )时,创建一个新的范围,当关闭时,它被破坏。每个范围都可以访问其他范围,只要它们不被破坏。 在第一个while循环中,您的sum在一个作用域内声明。因此,当while循环关闭时,该作用域将被销毁,从而导致您的sum声明无效/销毁

您必须在循环之前声明sum,并且您可能想要初始化它

int q = 0, value = 1, w = 1, sum = 0;
while( ... ) {
    ...
}

问题是您的
sum
是在循环内声明的。请将声明向上移动。同时在循环外定义变量
sum
?此外,变量
sum
在使用之前没有初始化,因此在执行
sum+temp
时,您有未定义的行为。谢谢#
int q = 0, value = 1, w = 1, sum = 0;
while( ... ) {
    ...
}