C語言 實現my atoi函式

2021-08-20 03:19:44 字數 1075 閱讀 2581

題目:

編寫程式實現字串到整數的轉換,如字串」12345」,輸出整數12345。

分析:

實現這個函式要先知道怎麼把字元轉換成數字,用字元1減去字元0就是數字1。

另外還有考慮一些問題:

1. 正負數該怎麼輸出?

2. 有空格怎麼辦?

3. 有其它字元該怎麼輸出?

以下為源**:

#define _crt_secure_no_warnings 1

#include

#include

#include

#include

#include

#include

//實現my_atoi函式

typedef enum statestate;

enum state state;

long

long my_atoi(const char*str)

if (*str == '-')//判斷正負

else

if (*str == '+')

while (*str)

else

return (long

long)ret;

}state = normal;//正常返回

return (long

long)ret;

}int main()

else

system("pause");

return

0;}

解讀:定義乙個列舉型別,乙個代表正常返回,另乙個表示錯誤返回。定義乙個flag表示正負數。

isspace()函式是判斷是否為空格,標頭檔案ctype.h。

函式原型:int iswspace( wint_t c );

isdigit()函式是判斷字元是不是數字。標頭檔案ctype.h。

函式原型:int isdigit( int c );

int_max是乙個巨集,#define int_max 2147483647 標頭檔案是limits.h。

c語言 實現Strcat函式

實現char my strcat char dest,char src 函式.返回 dest字串的位址。功能 將src指向的字串追加到dest指向字串的後面。例如 char dest 10 andef char src ghi my strcat 之後,dest指向的字串為 andefghi inc...

C語言 實現stract函式

實現功能 實現char my strcat char dest,char src 函式,將src指向的字串追加到dest指向字串的後面 include include char my strcat char dst,char src while src 0 dst 0 return ret int ...

c語言實現getline函式

getline函式可以獲取檔案中的一行資料。原函式形式為 ssize t getline char linepter,size t n,file stream 返回型別ssize t為有符號整形,其值為獲取的字元數,檔案結束則返回 1,包括換行符 n 但不包括字串結束符 0 linepter用來儲存...