C語言 模擬實現atoi

2021-08-31 21:00:16 字數 526 閱讀 5469

題目:請程式設計寫程式實現字串到整數的轉換,例如輸出字串「12345」,輸出整數12345.

分析:不僅要考慮給的是字元字串,還要考慮空白字元,正負號,空字串,以及越界訪問問題

#include #include #include #include #include enum state

;enum state state = invalid;//因為非法狀態的情況比較多,而合法的狀態只有一種情況,為了使**簡單些,所以將開始狀態初始化為非法狀態

int my_atoi(const char* str)

while(isspace(*str))   //空白字元

if (*str == '+')

else if (*str == '-')

while (*str)

}else

str++;

}state = valid;

return (int)ret;

}int main()

c語言 模擬實現atoi

這是一道被我遺漏了好久的一道題,最近被考到了,才發現好像被自己遺漏了,再次記錄一下,就算查漏補缺吧。atoi函式功能 用來將乙個字串轉換為整形。該函式會從第乙個字元開始跳過前面的空格,直到遇到正負號才開始轉換,遇到非數字或 0 結束轉換。如果不能轉換或是空字串就返回0。首先我們先考慮需要用到的測試用...

(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...