c語言 模擬實現atoi

2021-08-18 07:15:49 字數 912 閱讀 5467

這是一道被我遺漏了好久的一道題,最近被考到了,才發現好像被自己遺漏了,再次記錄一下,就算查漏補缺吧。

atoi函式功能:用來將乙個字串轉換為整形。

該函式會從第乙個字元開始跳過前面的空格,直到遇到正負號才開始轉換,遇到非數字或『\0』結束轉換。如果不能轉換或是空字串就返回0。

首先我們先考慮需要用到的測試用例:

比如 正負數:「+1234」「-1234」

非數字:「abcd」

數字:「1234」

混合:「1234abcd」

用庫函式atoi測試一下結果:

下面是**:

#include 

#include

#include

#include

#include

int my_atoi(const char *str)

else

if(*p=='+')

else

if(*p=='-')

while(*p>'0'&&*p

return sign*num;

}

return0;}

int main()

測試結果如下:

思路:首先要檢測空格跳過空格,其次檢測正號負號,將其記錄下來用來返回帶符號的結果,然後轉換字元,將單個字元減字元0就能轉換為數字,然後通過計算得出轉換結果,注意的是:不能用指標再來接受轉換後的結果,用指標來接受,不論是單個字元的結果還是最後的結果。

C語言 模擬實現atoi

題目 請程式設計寫程式實現字串到整數的轉換,例如輸出字串 12345 輸出整數12345.分析 不僅要考慮給的是字元字串,還要考慮空白字元,正負號,空字串,以及越界訪問問題 include include include include include enum state enum state s...

(C語言)模擬實現atoi函式

atoi函式 用法 將字串裡的數字字元轉換為整形數,然後返回整形值。注意事項 跳過前面的空格字元,遇到正負號或者數字開始轉換,直到遇到字串結束標誌 0 或非數字字元才結束轉換。用c語言模擬實現這個函式 vs2013 include include include include enum state...

模擬實現atoi

注意到細節問題 一 函式引數 1 形參虛const修飾 2 注意對形參指標判空 二 需要考慮到的細節 1 負數和0 注意區別傳入字元 0 和異常時返回值 2 空字串 3 溢位問題 4 輸入字串非非數字字元 int g flag 0 區別空串 long long strtodig const char...