2016-12-04 5 views
7

while 루프에 대한 예제로 C++ Primer에서이 코드를 복사했으며 아무 것도 출력하지 않습니다. g ++를 사용하고 있습니다.왜 루프가 종료되는 동안이 작업을 수행하지 않습니까?

#include <iostream> 

int main() 
{ 
    int sum = 0, val = 1; 
    // keep executing the while as long val is less than or equal to 10 
    while (val <= 10) { 
     sum += val;  // assigns sum+ val to sum\ 
     ++val;   // add 1 to val 
    } 
    std::cout << "Sum of 1 to 10 inclusive is " 
       << sum << std::endl; 
    return 0; 
} 

답변

11
sum += val;  // assigns sum+ val to sum\ 

은 행의 끝에 백 슬래시 제거하십시오. 그것은 연속 연속 문자입니다. 다음 줄이이 줄에 연결되도록합니다. 즉 ++val은 "sum + val to sum"주석의 일부가됩니다.

+1

[MCVE]가 중요한 이유의 완벽한 예입니다. – MooseBoys

4
sum += val;  // assigns sum+ val to sum\ <-- typo 
    ++val;   // add 1 to val 

sum += val; 줄에 오타가 있습니다. 끝에있는 "\"는 다음 줄을 주석으로 만들어 while을 무한 루프로 만들고 val은 결코 증가하지 않았습니다. "\"을 제거하면 작동합니다.

1

간단한 실수지만 주석 뒤에 "\ sum + val을 sum으로 지정"을 제거하십시오.

관련 문제