atoi는 문자열을 정수로 바꾸어주는 역할을 합니다.
문자열은 시작점과 널 문자를 통해 길이가 정의됩니다.
하지만 %c는 문자열이 아닌 문자를 입력받는 서식이고, 문자는 그 문자만을 저장할 뿐 널 문자를 따로 저장해주지 않습니다.
끝을 나타내는 표식이 없으므로 atoi는 어디까지를 변환해야 하는지 알지 못합니다.
2908번 - 상수
char에서 int로 바꾸는 가장 쉬운 방법은 48을 빼면 됩니다!
아하 %c만 보고 넘어갔더니 실수를 했네요.
그리고 atoi와 itoa는 표준 함수가 아니어서 작동하지 않는 것 아니었나요? 저는 sscanf를 사용합니다.
itoa는 표준이 아니지만, atoi는 표준이 맞습니다.
http://en.cppreference.com/w/c...
그리고 단순히 atoi로 할 수 있는 작업이라면, 성능 면에서 sscanf보다는 atoi가 훨씬 빠릅니다.
댓글을 작성하려면 로그인해야 합니다.
gse123 6년 전
atoi 함수로 문제를 푸는데 b 값이 자꾸 이상하게 나오네요.
두 번째 받는 값이 문제인거 같은데 왜 문제인지 잘 모르겠습니다.
배열을 다른걸로 선언해도 똑같네요..