將字串轉換為整數

2021-08-03 01:43:04 字數 953 閱讀 6427

/*

該問題的知識點

1. 對於c

風格的字串來說,結尾標誌位

『\0』

2. 將純數字字串轉換為整數,需要依次的拿前乙個字元生成的數字乘以

10 ,再加上當前字元和

『0』的差

3. 對於特殊情況的處理

空字元陣列;

字串中間有空格,字串前面會有很多空格

字串中間存在不合法字元

字串第乙個非空字元為

『-』或者

『+』

對於最大正整數,最小負整數的判斷 */

#include

#include

using

namespace

std;

intstr2int(

const

char

*s);

intstrtoint(

const

char

*s) //

檢測到第乙個不是空格的字元 if

(flag == 0 )

else

if(*s == '+' )

else

if(*s>='0' && *s<= '9')

else

} if

(*s < '0' || *s > '9')

if(flag ==  1)

else

if(flag == -1)

result = result*10 - (*s - '0');

if(result > int_max || result < int_min)

++s; }

return

(int

)result; }

intmain(

intargc,

const

char

* argv)

將字串轉換為整數

這是一道經典的面試題,在收到這樣一道題時我們不要急於動手,先思考一下這道題的解決思路 1.在函式呼叫時我們需要用指標來接收陣列的位址,那麼指標是否需要判空?2.如果獲取的字串起始位出現 號該如何處理?3.如果獲取到的並非數字字串該如何處理?4.如果獲取的字串正確,該如何返回成整數形式?5.如過獲取的...

將字串轉換為整數

題目描述 將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0 輸入描述 輸入乙個字串,包括數字字母符號,可以為空 輸出描述 如果是合法的數值表達則返回該數字,否則返回0 思路 考慮將字串轉換為字元陣列,在判斷時需要考慮以下兩點 最後要對轉換後的數字...

c 將整數轉換為字串

1 判斷輸入正負,並儲存符號 2 將輸入整數從低位到高位儲存到字串指標中 3 反轉字串 關鍵步驟都在程式中進行了注釋,以下程式能在vs2015社群版中直接執行,程式如下 include include using namespace std void itostr char int void rev...