#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。你能告诉我怎么解决这个问题吗?谢谢。
答案 0 :(得分:4)
sqdNumber_result
可以在循环外完全访问,your code compiles fine。
我怀疑你对变量阴影有一些奇怪的想法,因为你的代码为任何(非零)输入输出0;那是因为你的while
条件错了:while(sqdnumber==0)
不会让你甚至无论输入什么输入都进入循环,并且会让你永远陷入循环中以获得零输入
你想要while(sqdnumber!=0)
。