字串轉換為整數

2021-08-08 05:20:09 字數 929 閱讀 2480

字串轉換為整數需要考慮很多種情況,如下:

第一種情況:空指標

第二種情況:空字串

第三種情況:空白字元

第四種情況:中間有字母的

int main()

atoi()函式遇見a就自動停下來了,輸出123

第五種情況:前面有符號的

int main()

輸出-12345

第六種情況:前面有空格

int main()

輸出12345

第七種情況:數字很長

int main()

這樣會溢位,輸出整形所能表達的最大數2147483647,負數也是會溢位,加負號輸出-2147483647

其實就是相當於模擬實現atoi()

#include

#include

#include

#include

enum status//列舉兩個狀態

;enum status status = invalid;//定義乙個status初始化為非法,因為合法的情況比較少,後面遇到合法的置合法即可,**簡單

int my_atoi(const char* str)

//3、空白字元

while (isspace(*str))

//4、符號『+』『-』

if (*str == '-')

if (*str == '+')

//5、正常字元

while (*str)

else}}

else

str++;

}status = valid;//置為合法就可以輸出了

//return ret*flag;//如果前面遇到負號也不擔心輸出錯誤

return (int)ret;//上面已經乘以flag了,這裡就不需要乘了

}int main()

字串轉換為整數

class program catch exception ee console.read 轉換類 public class strconverter bool positive true int32 result 0 double tempresult 0 int start 0 while st...

字串轉換為整數

題目 輸入乙個表示整數的字串,把該字串轉換成整數並輸出。例如輸入字串 345 則輸出整數345。分析 這道題儘管不是很難,學過c c 語言一般都能實現基本功能,但不同程式設計師就這道題寫出的 有很大區別,可以說這道題能夠很好地反應出程式設計師的思維和程式設計習慣,因此已經被包括微軟在內的多家公司用作...

將字串轉換為整數

該問題的知識點 1.對於c 風格的字串來說,結尾標誌位 0 2.將純數字字串轉換為整數,需要依次的拿前乙個字元生成的數字乘以 10 再加上當前字元和 0 的差 3.對於特殊情況的處理 空字元陣列 字串中間有空格,字串前面會有很多空格 字串中間存在不合法字元 字串第乙個非空字元為 或者 對於最大正整數...