程式設計實現atoi 函式

2021-06-13 14:26:01 字數 608 閱讀 4559

函式描述:

將字串str轉換成乙個整數並返回結果。引數str以數字開頭,當函式從str中讀到非數字字元則結束轉換並將結果返回。

int atoi( const char *str )

// 正數第乙個數字

else if (nret==-2) // 負數第乙個數字

else nret = nret * 10 + ( c - '0');// 其他數字

continue;

}if ( ( (c > 0x08 && c < 0x0e) || c == 0x20) && (nret==-1)) continue;// 剪掉空白字元

if ( c == '+' && (nret==-1) ) // 正數符號

if ( c == '-' && (nret==-1) ) // 負數符號

if ( (nret == -1) || (nret == -2) ) nret = 0;// 失敗返回0值

break;

}return nret;

}

#include int my_atoi(const char* p)

atoi 函式實現

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

atoi函式的實現

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

atoi函式的實現

atoi函式的實現 寫atoi函式的時候需要注意一下幾點 1.字串前的空白 2.字串所表示數值的正負號 3.結束條件,遇到非數字或者字元 0 結束 4.考慮溢位,分別與int值所能表示的最大 0x7fffffff 和最小值 0x8000000 進行比較 5.考慮異常輸入情況下,用全域性變數valid...