1. 程式人生 > 其它 >atoi()函式的實現

atoi()函式的實現

技術標籤:c語言

atoi()函式的實現

atoi()的作用:將字串轉換成整型數;

  1. 掃描字串
  2. 跳過前面的空格字元
  3. 遇上數字或正負號開始轉換
  4. 遇到非數字或字串時(’\0’)結束轉化
  5. 返回轉換後的整型數

程式碼塊兒

#include <stdio.h>
#include <ctype.h>
//模擬實現atoi
#if 1
int my_atoi(char * pr)
{	//判斷輸入合法性
	if (pr == NULL)
	{
		printf("輸入有誤");
		return 0;
	}
	//跳過空格
	while (isspace(*pr) )
	{
		pr++
; } //判斷正負 int sign = 1; if (*pr == '-') { sign = -1; } if (*pr == '+'||*pr=='-') { pr++; } //還原每一位數字 int result = 0; while (*pr) { result = result * 10 + *pr - '0'; pr++; } int ret = result * sign; return ret; } int main() { char arr1[] = "123"; char arr2[] = "-100"
; my_atoi(arr1); my_atoi(arr2); int ret =my_atoi(arr1)+my_atoi(arr2); printf("my_atoi(arr1) = %d my_atoi(arr2) = %d ret = %d", my_atoi(arr1), my_atoi(arr2) ,ret); return 0; } #endif

執行結果圖
在這裡插入圖片描述