前言
前幾天博主在新浪微薄上看到耗子叔叔考察了atoi的編寫,周四博主也要面試阿里(ps:雖然博主lnmp方向,但是還是有信心拼一把),這裡也自己實現一下這兩個函式,防止面試問到答不出來
atoi
#include
#include
#define int_max 2147483647
#define int_min -2147483648
int myatoi(const char *s)
else
// 注意越界
cutoff = flag ? (unsigned int) int_max + 1 : int_max;
cutlim = cutoff % 10;
cutoff /= 10;
for (val = 0; *s >= '0' && *s <= '9'; s ++)
val = 10 * val + *s - '0';
} if (flag)
return val * -1;
else
return val;
}
int main(void)
return 0;
}
itoa
#include
#include
#define n 15
/**
* 異或交換兩個數
*/
void swap(char *a, char *b)
} /**
* 程式設計實現windows平台整型轉字串**
*/
void itoa(int value, char *str)
else
for (i = 1; value; i ++, value /= 10)
// 字串逆序
for (j = 1, k = i - 1; j <= k; j ++, k --)
// 補字串結束標識
str[i] = '\0';
// 正數前移一位
if (str[0] != '-')
} }
int main(void)
return 0;
}
atoi 和 itoa的實現
atoi 和 itoa是面試筆試經常要考到的題目,下面兩份 是用c語言實現的atoi和itoa 1,atoi 原型 int atoi const char nptr 函式說明 引數nptr字串,如果第乙個非空格字元不存在或者不是數字也不是正負號則返回零,否則開始做型別轉換,之後檢測到非數字 包括結束...
atoi和itoa的模擬實現
函式原型 int atoi const char str 該函式的功能是將字串轉化為整型。分以下幾種情況 1 如果該字串的最開始是 並且後面加的是數字,那麼轉化的整數是負整數。2 如果該字串的最開始是 或者是數字,那麼轉化的是正整數。3 如果最開始是 加其他字元,就是不合法的,直接返回0.4 考慮溢...
atoi及itoa的簡略實現
itoa是非標準c語言和c 語言擴充套件函式。由於它不是標準c c 語言函式,所以不能在所有的編譯器中使用。但是,大多數的編譯器會在 標頭檔案中包含這個函式。功能 將任意型別的數字轉換為字串。在中與之有相反功能的函式是atoi。標準庫中有sprintf,功能比這個更強 本列沒考慮浮點型等數,只做了簡...