Oct
5
과제로 제출하기 위한 프로그래밍을 하던 도중 이상한 오류를 발견했다…
숫자인 문자열을 double, 혹은 float 형으로 변환해주는 strtod() 라는 함수를 사용하면서 생긴 오류였는데 도통 원인을 발견하지 못하였었다..
어떤 문자열을 숫자로 바꾸라고 입력하면….이상하게도 엉뚱한 값과 -nan 이라는 문자열만 출력되는 것이었다.
nan 이라는 것이 무슨뜻일까…찾아보니 Not A Number 라는 뜻이었다..
왜 그럴까…
한참 동안이나 디버깅과 여러가지 데이터 값들을 입력해보고 여러모로 원인을 찾아보았다.
하지만 코드상의 문제는 보이지 않았다.
당연했다. 함수하나 불러쓰는 것인데 무슨 문제가 있을려구..
한참을 찾고 찾다…한 2시간이 흐른뒤….어이없는 실수를 발견했다..
해당 함수를 쓰기위한 헤더파일을 선언하지 않았던 것…
하하하하하하……
그저 웃음만 나온다.
나름 소스를 깔끔하게 작성한다고 .c 파일과 .h 로 구분해 놓은것이 화근이었다.
물론 그것이 잘못된 것이 아니었다.
하지만 헤더파일 구분만 해놓고 헤더파일 선언을 하지 않은 나의 불찰…
으이구….다음부터는 조심하자..
Tags: 실수