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