請你來實現乙個 atoi 函式,使其能將字串轉換成整數。
首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。接下來的轉化規則如下:
提示:本題中的空白字元只包括空格字元 』 』 。假設我們的環境只能儲存 32 位大小的有符號整數,那麼其數值範圍為 [−231, 231 − 1]。如果數值超過這個範圍,請返回 int_max (231 − 1) 或 int_min (−231) 。
解題思路:
step1:邊界判斷:s==null或者s不是已正負號、空格、數字開頭,直接返回0;
step2:依次遍歷s,獲取數字字串。注:如果以空格開頭,且第乙個不是在正負號或者數字,直接返回0;
step3:判斷數字是否超過integer的最大值和最小值,通過字串比較,如果超過,直接返回integer的最大值或者最小值。
找出開頭、帶符號、連續所有數字,例如:-0012401
將這個數字字串轉為正確答案:
atoi自行實現
atoi系列是字元跟數字之間轉換常用的函式,其實自己實現也是挺快的,這裡寫一種帶格式檢測的atoi函式。函式說明 atoi 會掃瞄引數nptr字串,跳過前面的空格字元,直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字串結束時 0 才結束轉換,並將結果返回。返回值返回轉換後的整型數。includ...
atoi 函式實現
實現atoi 函式開始之前,測試了庫中的atoi 函式,發現庫中提供的atoi函式可以處理許多異常,下面就是庫中可以處理的異常 1.指標為null 2.空字串 3.號處理 4.遇到異常字元時的處理方式 5.溢位時處理,分為兩部分 1 上溢位,輸出上界 2 下溢位,輸出下界 那麼對這些異常進行處理就可...
實現功能 atoi
將字串轉化為int型整數 1.當字串中第乙個數字之前既不是正負號也不是空格時,直接返回0。如 dakks 34 2.當字串中資料的大小超過整數的範圍時,返回int能表示的最大值或最小值。3.當遇到 333 時返回0。先上自己的 define int max 2147483647 define int...