atoi()函式的實現
阿新 • • 發佈:2020-12-29
技術標籤:c語言
atoi()函式的實現
atoi()的作用:將字串轉換成整型數;
- 掃描字串
- 跳過前面的空格字元
- 遇上數字或正負號開始轉換
- 遇到非數字或字串時(’\0’)結束轉化
- 返回轉換後的整型數
程式碼塊兒
#include <stdio.h>
#include <ctype.h>
//模擬實現atoi
#if 1
int my_atoi(char * pr)
{ //判斷輸入合法性
if (pr == NULL)
{
printf("輸入有誤");
return 0;
}
//跳過空格
while (isspace(*pr) )
{
pr++ ;
}
//判斷正負
int sign = 1;
if (*pr == '-')
{
sign = -1;
}
if (*pr == '+'||*pr=='-')
{
pr++;
}
//還原每一位數字
int result = 0;
while (*pr)
{
result = result * 10 + *pr - '0';
pr++;
}
int ret = result * sign;
return ret;
}
int main()
{
char arr1[] = "123";
char arr2[] = "-100" ;
my_atoi(arr1);
my_atoi(arr2);
int ret =my_atoi(arr1)+my_atoi(arr2);
printf("my_atoi(arr1) = %d my_atoi(arr2) = %d ret = %d",
my_atoi(arr1), my_atoi(arr2) ,ret);
return 0;
}
#endif
執行結果圖