#include <stdio.h>
int main ()
{
뭐시기 뭐시기
return 0;
}
만 하면 결과물이 나오자마자 꺼져버려서
#include <stdio.h>
#include<conio.h>
int main ()
{
뭐시기 뭐시기
getch();
return 0;
}
라고 하면 아무키나 입력을 한번해야종료가되어서 이렇게 함수를 매번 마무리 짓는데요..
이때 getch();를 return 0; 뒤에 쓰니까 입력안했을때랑 똑같이 그냥 꺼져버리더라고요 바로
왜 return 문 뒤에 입력을하면 안되는건가요???? 어차피 getch문은 그 int main()
함수안에서 정의된게아니라 #include<conio.h>로 불러낸 지시어;;?라고하나 아무튼
원래 c++에 있는기능이니까 함수가 return 0; 로 끝마쳐지는것과 상관없이 분리되어 작동해야 하는게
좀더 직관적인 생각으로는 맞는거같은데요.... 답변 부탁드리겠습니다..ㅠ
어라.. 책같은데 return이 어떤 역할 하는지 나와있지 않나요?
제가 return문에 대한 이해가 떨어져서 생기는 문제인가요..ㅠ 사실 리턴문은 봐도봐도 이해가 잘 안가네요 return 0 나 1 이렇게 분류되면 좀 이해하기 편할텐데 return tot이니 return add 이니 만든함수로 돌아가는 기능도 있더라고요 그럼 또 return 0나 1는 뭘 의미하는건지ㅠㅠ 잘모르겠습니다.
제가 내공이 떨어져서 자세히 설명은 안되지만 위에서 리턴 값이 인트형이 지만 char float 아니면 직접 구현한 구조체 등 무엇이든 될수 있죠0 이나 1은 보통 함수에서 OX를 가리기 위한 함수에서 많이 사용 되구요 저는 함수가 계산하고 그답이 리턴이다 이렇게 말해 드리고 싶네요..허접한 내공이라 ㅜㅜ
getch쓰지마!
http://msdn.microsoft.com/en-us/library/ms235446(v=vs.80).aspx
그럼 책보면 거의 return 0; 이러는것도 함수 포맷이 int main 이래서, 즉 함수형이 인트라고 선언되어서 리턴뒤에 0,1 이런식으로 숫자가 오는건가요?? 흠... 굳이 이런것 같지는 않던데... 조금더 책을 정독해봐야겠습니다.
리턴은 걍 함수에서 나가는거고, 메인함수는 최초 진입함수니 거기서 리턴하면 프로그램이 종료되는거지 머. 함수 포맷에서 int main이라고 하면 integer형 변수를 리턴한다고 선언하는 거니까 return도 0이나 1, 2, -1, 255, 343423423같은 integer value를 리턴하는거고.
함수 콜과 리턴쪽을 정확하게 디비면 골아프니까 걍 나간다고 표현했는데 좀 이쪽도 어셈블리에서 어떻게 구현되는지까지 공부를 해보길