atoi 字元轉整數的自實現

2021-09-11 23:45:28 字數 693 閱讀 6165

在c語言中可以通過atoi()函式實現將char 數字 轉化為 int 型別

char ch = "123456";     ---->int i = 123456

char *ch1  = "-5678";     ---->int i = -5678

char ch2 = "   -3456";   ---->int i = -3456

那麼我們可以怎麼實現這個功能呢

1、字元是否為空

2、前面是否有空格

3、是否帶有正負號

4、是否為數字,而不是其他字元

5、是否會溢位 int型別在大多數編譯器中為4個位元組,大於65535則溢位

下面是根據以上的要求實現的**,還有一些具體要求這邊暫時沒有寫進來,例如"123abc"這類字元的處理

#include#include#includeint atoi2(const char *ch)

if(*ch == '-')

//讀取內容且須為數字

while((*ch >= '0')&&(*ch <='9'))

return num*sign;

}int main()

最後的實現結果:

字串轉整數 atoi

實現 atoi,將字串轉為整數。在找到第乙個非空字元之前,需要移除掉字串中的空格字元。如果第乙個非空字元是正號或負號,選取該符號,並將其與後面盡可能多的連續的數字組合起來,這部分字元即為整數的值。如果第乙個非空字元是數字,則直接將其與之後連續的數字字元組合起來,形成整數。字串可以在形成整數的字元後面...

字串轉整數(atoi)

實現atoi,將字串轉為整數。在找到第乙個非空字元之前,需要移除掉字串中的空格字元。如果第乙個非空字元是正號或負號,選取該符號,並將其與後面盡可能多的連續的數字組合起來,這部分字元即為整數的值。如果第乙個非空字元是數字,則直接將其與之後連續的數字字元組合起來,形成整數。字串可以在形成整數的字元後面包...

LeetCode 字串轉整數 atoi

實現atoi,將字串轉為整數。在找到第乙個非空字元之前,需要移除掉字串中的空格字元。如果第乙個非空字元是正號或負號,選取該符號,並將其與後面盡可能多的連續的數字組合起來,這部分字元即為整數的值。如果第乙個非空字元是數字,則直接將其與之後連續的數字字元組合起來,形成整數。字串可以在形成整數的字元後面包...