2011-05-12 7 views
0

netbeans IDE에서 첫 번째 C++ 프로그램을 실행하려고하고 있는데 분명히 (?)이지만 마지막에 오류 메시지가 표시됩니다. 여기 코드입니다 :netbeans는 cpp 응용 프로그램을 실행하지 않습니다. (심지어 빌드가 성공적입니다.)

#include <iostream> 

using namespace std; 

void func(){ 
    for(int i =1;i<6;i++) 
     cout<<endl<<"tony tests "<<i; 
} 
int main() { 
    cout<<" p"; 
    func(); 
    return 1; 
} 

그리고 여기에 출력 (오른쪽 프로젝트를 클릭 한 다음 선택 속성 - 콘솔 형 = 출력 창 그것이 sh.exe 창 내 메시지를 엽니 다 그렇지 않으면 기본 없다> 실행 -> 내가이 오류 메시지가 왜

p
tony tests 1
tony tests 2
tony tests 3
tony tests 4
tony tests 5
RUN FAILED (exit value 1, total time: 78ms)

그래서, 내가 어떻게 내가 t + 내가 디버깅 할 수있는 코드의 실행을 방해 아무튼 심지어 그래도 (문제를 해결할 수)가 인쇄됩니다 코드 내부에서 IDE를 사용) 어떤 상황에서이 오류 메시지가 나타나는 문제로 인해 코드가 올바르게 실행되지 않거나 실행되지 않을 수 있습니까? 또한 출구 값 1은 무엇입니까?

+2

고객님의 코드는'main()'에서 1을 반환합니다. 이것이 바로 'exit value'가 나오는 곳입니다. 보십시오'return 0;' – quamrana

답변

4

0이 아닌 종료 값은 OS에 오류가 있음을 나타내므로 main()에서 1을 반환하면 OS가 코드 실행에 오류가있는 것으로 간주하여 실행이 끝날 때 오류 메시지를 인쇄합니다 . 반환 값을 0으로 변경하면 문제가 해결됩니다.

종료 값 1은 대부분의 플랫폼에서 "일반 오류"로 간주됩니다. 예를 들어, POSIX에서 EXIT_FAILURE 오류 매크로는 값 1과 같습니다. exit()에 전달되거나 main()에서 반환되는 값은 0과 255 사이 여야합니다. 더 큰 값은 예기치 않은 결과 또는 정의되지 않은 결과를 가질 수 있습니다.

종료 상태 값 here에 대한 자세한 정보를 찾을 수 있습니다.

+0

고맙습니다, 훌륭한 설명 – Sprin

0

Jason이 정확하게 지적했듯이 모든 운영 체제 (모든 Linux - Windows는 확실하지 않음)는 0이 아닌 오류는 아니고 0은 성공한 값을 반환합니다. 각 번호와 관련된 특정 오류가 있습니다. C/C++ 프로그래밍에서는 errno.h을 사용할 수 있으며 파일을 찾을 수 없거나 파일 포인터가 null이거나 오류가 발생하여 인쇄 할 수 있습니다.

관련 문제