【问题标题】:How to access the variable value outside loop in C++如何在C ++中访问循环外的变量值
【发布时间】:2018-01-26 01:50:43
【问题描述】:
#include <iostream>

using namespace std;

int main()
{
    int sqdnumber;
    int sqdNumber_result=0;
    cout<<"Enter a number:";
    cin>>sqdnumber;
    cout<<"\n";

    while(sqdnumber==0)
    {
        int remainder=sqdnumber%10;
        sqdNumber_result=(remainder*remainder)+sqdNumber_result;
        sqdnumber=sqdnumber/10;
    }

    cout<<sqdNumber_result;
}

我正在尝试打印单个数字的平方和,但变量 sqdNumber_result 在循环外无法访问。你能告诉我如何解决这个问题吗?谢谢你。

【问题讨论】:

  • sqdNumber_result 在循环之外完全可以访问。这是错误的代码,或者您误解了编译器错误消息(如果有)。
  • 快速浏览后您的代码似乎会陷入无限循环。
  • 很可能,您的问题是您颠倒了while 条件-您想要while(sqdnumber!=0)
  • 请记住,这是一个while 循环,而不是until 循环。 C 没有直到

标签: c++ variables while-loop scope


【解决方案1】:

sqdNumber_result 在循环之外完全可以访问,your code compiles fine

我怀疑您对变量阴影有奇怪的想法,因为您的代码对于任何(非零)输入都输出 0;那是因为你弄错了while 条件:while(sqdnumber==0) 不会让你进入循环,无论你提供什么输入,并且会让你永远陷入零输入的循环中。

你想要while(sqdnumber!=0)

【讨论】:

  • 谢谢!是的,我做错了。但是是否也可以在 for 循环和 do-while 循环之外访问变量值?
  • @MArjun 为什么不可能呢?这就是声明变量的地方。
  • 感谢@Barmar,是的,从上述问题的解决方案来看,似乎是可能的。我是 C++ 新手,所以这听起来可能很愚蠢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-03
相关资源
最近更新 更多