手動實現函式 atoi

2021-09-07 20:22:51 字數 790 閱讀 1483

atoi() 函式用來將字串轉換成整數(int),其原型為: 

int atoi (const char * str);

函式說明:atoi() 函式會掃瞄引數 str 字串,跳過前面的空白字元(例如空格,tab縮排等,可以通過 isspace() 函式來檢測),直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字串結束時(『\0』)才結束轉換,並將結果返回。

返回值:返回轉換後的整型數;如果 str 不能轉換成 int 或者 str 為空字串,那麼將返回 0。

#include#include#include#include#include#include//實現my_atoi函式

typedef enum statestate;

enum state state;

long long my_atoi(const char*str)

if (*str == '-')//判斷正負

else if (*str == '+')

while (*str)

else

return (long long)ret;

}state = normal;//正常返回

return (long long)ret;

}int main()

else

system("pause");

return 0;

}#if 0

int main()

#endif

atoi 函式實現

實現atoi 函式開始之前,測試了庫中的atoi 函式,發現庫中提供的atoi函式可以處理許多異常,下面就是庫中可以處理的異常 1.指標為null 2.空字串 3.號處理 4.遇到異常字元時的處理方式 5.溢位時處理,分為兩部分 1 上溢位,輸出上界 2 下溢位,輸出下界 那麼對這些異常進行處理就可...

atoi函式的實現

atoi函式的實現 寫這個函式的實現的原因很簡單,而且也很容易,直接抄襲的庫中的原始碼。因為有朋友面試的時候遇到了,前幾天乙個哥們面intel的時候也被問到了,巧合的是今天看廣聯達的面試題再次遇到。一周之內看到三次,讓我不得不重視一下啊,畢竟自己也要開始面試題呀面試題了!其實這個函式比較容易實現,不...

程式設計實現atoi 函式

函式描述 將字串str轉換成乙個整數並返回結果。引數str以數字開頭,當函式從str中讀到非數字字元則結束轉換並將結果返回。int atoi const char str 正數第乙個數字 else if nret 2 負數第乙個數字 else nret nret 10 c 0 其他數字 contin...