简单的"数字和"代码.它编译但是在执行时,最后一个cout为num int而不是实际的用户输入数字给出"0".
如果您愿意,可以随意将其复制并粘贴到您自己的编译器中,看看我的意思.
如何输出正确的"num"值?
~~~
#include <iostream>
using namespace std;
int main()
{
int num;
int sum = 0;
cout << "Please type any non-negative integer: ";
cin >> num;
while ( num > 0 ) {
sum += num % 10;
num /= 10;
}
cout << "The sum of the digits of " << num << " is " << sum << "\n";
system("PAUSE");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Ale*_*lli 11
你一直在修改num,直到它变为0(这就是你的while ( num > 0 )陈述所确保的!),所以当然它最后是0!如果你想发射它之前的内容,int orig=num;在循环之前添加eg ,并orig在结束时发射.