간단한 "숫자 합계"코드. 그것은 컴파일되지만 실행될 때 마지막 cout은 실제 사용자 입력 번호가 아니라 num int에 "0"을 제공합니다. 당신은 내가 무엇을 의미하는지에 관해 알기 위해, 그래서 경사 인 경우 제 '정신 분열증'이 올바른 가치를주지 못하고 있습니다 - 왜죠?
는 자신의 컴파일러에 복사하고이를 붙여 주시기 바랍니다.올바른 "num"값을 출력하려면 어떻게해야합니까? 가 0이 될 때까지
~~~
#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;
}
시스템을 제거했습니다 ("PAUSE"); 그리고 그것은 잘 작동하는 것처럼 보였다. http://codepad.org/bwpGuJF8 (코드 패드를 사용하면 입력을 허용하지 않습니다.) 시스템 호출이 허용되지 않습니다 : SYS_fork – Tom
시스템 ("PAUSE")은 Windows 특정 작업이며, 대부분의 (일부 유닉스 시스템에서) 기본 셸로 피드하려고 시도합니다. << "어떤 키 \ n을 입력" cout을; 원하는 behavir을 얻을 수있는 더 좋은 방법은 CIN 호출하는 것입니다 int wait; cin >> wait; –