#include <stdio.h>
int myatoi(char* str)
{
int sign = 1;
int sum = 0;
while (*str == ' ')
{
str++;
}
if (*str == '-')
{
sign = -1;
str++;
}
while (*str)
{
int num = *str - '0'; // 0x30
if (num >= 0 && num <= 9)
{
sum *= 10;
sum += num;
str++;
}
else
{
break;
}
}
return sign * sum;
}
int main()
{
char* str = " -0955358.";
printf("%d\n", myatoi(str));
}
'프로그래밍 > C' 카테고리의 다른 글
C ] float to hex / hex to float Converter (0) | 2023.04.09 |
---|---|
C ] 시간복잡도가 O(1)인 2의 거듭제곱 판별 (0) | 2023.03.31 |
C ] isalpha, isupper, islower, isdigit, isxdigit, isalnum, isspace, ispunct, isprint, isgraph, iscntrl, isascii, 함수 구현 (0) | 2023.03.25 |
C ] vprintf, vsprintf, vsnprintf 차이 (0) | 2023.02.17 |
컴파일러 워닝 "was set but never used" 해결법 (0) | 2023.01.31 |