|  |
| |
asdwho |
무한루프 도네요.
int fac_f(int n) //팩토리얼
{
return n*(fac_f(n-1));
}
이 부분 잘 생각해보시기 바랍니다. 재귀함수에는 반드시 if문 하나쯤은 들어가야 되요.
혹시 왜 무한루프도는지 모르시겠다면 디버깅을 해보시길 ㅎㅎ 디버깅 하는 습관을 길르시면 좋겠습니다 ㅎㅎ |
2011/03/25 |
|
| /x7375696e6567 |
음..저도 요즘 1개의 확인할수없는 외부참조입니다
라는 오류때문에 해결방법찾는중인데..
일단 헬로워드에서도 오류가뜨는걸로봐선,
소스상의 오류로 인한 에러는아닌것 같네요 |
2011/03/25 |
|
| /x7375696e6567 |
해결했습니다!!!!
아마 저와 동일한 경우라면,
프로젝트에서 소스파일을 추가시킨게아닌.
파일 - 새로 만들기 - 파일
이렇게 추가시키셨을텐데요
그렇게 하면 안되구
보기 - 솔루션 탐색기
여셔서 찾아보시면 소스파일이있는데 거기서 추가시켜주시면됩니다 |
2011/03/25 |
|
| jhj5500 |
감사합니다, 집에와서 해보니 에러는 뜨지 않았고요, asdwho님 말씀대로 함수 고쳤습니다. 그런데 입력한 수가 작을땐 제대로된 값이 나오는데 좀 큰값을 넣으면 값이 나오지 않습니다.(디버그 오류?같은 거라던가 마이너스값, 0,1,,3 같은게 나와요), 그래서 순환함수만 따로 실행해봤는데 똑같더라고요.. 자료형이 int라서 그런가요? |
2011/03/27 |
|
asdwho |
ㄴ 맞습니다 팩토리얼은 숫자가 1만 증가한다고 해도 연산은 엄청나게 커지게 되죠. 뒤로 갈수록.
int 말고 더 큰 변수를 찾아서 해보세요. unsigned int 나 long long int 라거나... long long int는 visual studio에서는 지원안되는걸로 알고 있지만; |
2011/03/27 |
|
| jhj5500 |
그렇군요, 감사합니다! |
2011/03/28 |
|