//atoi函式的簡單實現
//函式用途:將字串轉為整形
//函式原型 int atoi(const char* str)
//遇到非數字或字串結束符('\0')才結束轉換,並將結果返回。
#include
using namespace std;
//考慮溢位 如果轉化數字超過int範圍
//int占用4位元組,32位元,資料範圍為-2147483648~2147483647[-2^31~2^31-1]
//#define int_max ((int)0x7fffffff)
//#define int_min ((int)0x80000000)
//c語言在limits.h中包含了極大和極小的整數值,也可以直接呼叫 int_max int_min。
int my_atoi(const char*str)
//跳過空格 isspace()這個函式在type.h標頭檔案中;也可以s[i]==' '實現
while (*str == ' ')
//for (i; isspace(str[i]); i++)
//{}
//判斷並且跳過符號位
int s = (*str == '-') ? -1 : 1;
//int s=1;
//if(*str=='-'||*str=='+')
//if (*str == '+' || *str == '-')
//剩下只有字元和數字的情況 將數字字元轉換成整形數字,isdigit()這個函式在type.h標頭檔案中;
//也可以s[i]>='0' && s[i]<='9''實現; 0x30是 '0'
while (*str>='0'&&*str
<='9') //while(isdigit(str[i]))
//else
//str++;
}return tmp*s;
}void test()
int main()
模擬實現atoi
注意到細節問題 一 函式引數 1 形參虛const修飾 2 注意對形參指標判空 二 需要考慮到的細節 1 負數和0 注意區別傳入字元 0 和異常時返回值 2 空字串 3 溢位問題 4 輸入字串非非數字字元 int g flag 0 區別空串 long long strtodig const char...
模擬實現atoi
atoi函式是把字串轉換成整型數的乙個函式,應用在電腦程式和辦公軟體中。int atoi const char nptr 函式會掃瞄引數 nptr字串,跳過前面的空白字元 例如空格,tab縮排 等,可以通過isspace 函式來檢測 直到遇上數字或正負符號才開始做轉換,而在遇到非數字或字串結束符 0...
模擬實現atoi函式
atoi函式就是把一串字串轉換為int型整數的函式,通過將字串中的字元乙個乙個強制型別轉換,並且存入乙個臨時陣列中,再將陣列中的數字處理一下即可得到我們需要的整數。實現這個函式的過程中,我們需要注意負數的處理,要進行一次判斷,確定返回值的正負。其他的字元按照ascii碼表進行轉換即可。下面是 inc...