這是《劍指off》裡面的一道經典面試題:請編寫程式實現字串到整數的轉換,例如輸入字串12345,則輸出數字12345。
完整版**如下:
#include #include #include #include enum state
;enum state state = invalid;
int my_atoi(const char *str)
//+-號
if (*str == '+')
str++;
if (*str == '-')
//字串處理
while (*str)
}else//非數字字元
str++;
} state = valid;
return (int)ret;
}int main()
執行結果:
這個程式主要是實現對atoi函式的實現,根據除錯結果發現最後是以數字的形式輸出,部分問題在程式中已經給了注釋。希望大家在筆試中遇到類似的問題能夠順利的寫出程式!
轉換字串到整數
實現atoi這個函式,將乙個字串轉換為整數。如果沒有合法的整數,返回0。如果整數超出了32位整數的範圍,返回int max 2147483647 如果是正整數,或者int min 2147483648 如果是負整數。您在真實的面試中是否遇到過這個題?yes 樣例 10 10 1 1 12312312...
字串轉換整數
請你來實現乙個 atoi 函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連續的數字字...
字串轉換整數
請你來實現乙個 atoi 函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連續的數字字...