atoi
atoi 함수는 숫자로 이루어진 문자열을 정수(int)형 데이터로 변환해 주는 역할을 합니다.
작성해야 할 함수의 프로토타입은 다음과 같습니다.
int my_atoi(const char* str);
[함수 구현 규칙]
- 문자열의 맨 앞에 공백 문자가 있을 경우, 공백이 아닐 때까지 건너뜁니다. (공백 문자는 빈칸
' '문자만 고려합니다.) - 공백을 건너뛴 후, 가장 먼저 나오는 문자가 마이너스 기호(
'-')라면 최종 결과는 음수가 되며, 플러스 기호('+')이거나 기호가 없다면 양수가 됩니다. - 기호 이후에 나오는 연속된 숫자 문자들(
'0'~'9')을 순차적으로 읽어 하나의 정수로 조립합니다. - 만약 숫자가 아닌 문자(알파벳, 기호, 문자열의 끝
\0등)를 만나면, 그 전까지만 조립된 정수 값을 반환합니다. 만약 첫 시작부터 숫자가 아니라면0을 반환합니다. - 변환 과정에서 오버플로우(Overflow)가 발생하는 입력은 주어지지 않는다고 가정합니다.
함수만 제출한다!
입력 예시 1
" -12345"
출력 예시 1
-12345
입력 예시 2
"1004"
출력 예시 2
1004
Hidden Code (rear)
#include <stdio.h>
//함수 작성
int main(){
char s[1010] = {0};
fgets(s,sizeof(s),stdin);
printf("%d\n", atoi(s));
return 0;
}
코멘트