C 語言編寫自己的 atoi() 函式


本文旨在實現一個 C 語言程式,用於編寫自己的 atoi() 函式。

在我們開始之前,讓我們更深入地瞭解一下 atoi() 函式是什麼。這將有助於編寫程式,並更容易理解相關的概念。對於那些不太瞭解 atoi() 函式的人,請看這裡。

atoi() 函式將一個元素字串轉換為整數值。輸入的字串是一個字元序列,它有可能轉換為返回值的數值型別。函式確定第一個不是數字組成部分的字元時,就會停止讀取輸入字串。字串的最後一個空字元可能是罪魁禍首。atoi() 函式不能使用指數或小數。

C 庫的 int atoi(const char *s) 函式將字串引數 s 轉換為整數。該函式通常將字串引數轉換為整數。atoi() 函式會跳過字串開頭所有空的空白字元。

還要注意,轉換過程會在遇到第一個不是數字的字元時結束。

方法

解決此問題並獲得 C 語言程式以編寫自己的 atoi() 的方法如下所述。

在此之前,讓我們看看編寫 atoi 函式的語法。

語法如下:

int atoi(const char *s) 

其中,s 是字串。

該函式接收一個引數 s,它指定要轉換為等效整數值的字串引數。

返回值 - 如果 s 是有效的輸入,則該函式返回提供的字串數字的等效整數。如果不存在有效的轉換,則該函式返回 0。

一般來說,以下引數可用於有效地將字串轉換為數字:

  • 完全由 ASCII 數字組成的 '0123456789' 和其他字串。

  • 開頭帶有 '+' 字元且僅使用 ASCII 字元的字串。

  • 開頭帶有 '-' 字元且完全由 ASCII 數字組成的字串。

此外,您還應該知道 Atoi() 函式分階段執行。也就是說,讓我用非常簡單的術語向您解釋一下。atoi() 函式一次建立一個表示整數的字串。當遇到非 ASCII 字元時,函式才會失敗。

中斷後,Atoi() 方法輸出兩個可能值之一。當沒有任何值發生更改並且在字串開頭呼叫該函式時,它將返回 0。在沒有這種情況下,它將提供它擁有的最新數字。

演算法

獲得 C 語言程式以編寫自己的 atoi() 的演算法如下所示:

  • 步驟 1 - 定義一個整數變數以儲存字串的整數值。這裡我們宣告變數名為 'intValue'。

  • 步驟 2 - 定義一個字串 s。

  • 步驟 3 - 定義 atoi 函式。

  • 步驟 4 - 傳遞字串值。

  • 步驟 5 - 列印整數值作為輸出。

示例:C 語言程式

以下是上述演算法的 C 語言程式實現,用於獲得 C 語言程式以編寫自己的 atoi():

#include <stdio.h>
#include <stdlib.h>
int main() {
   int intValue;
   char s1[] = "98765";
   intValue = atoi(s1);
   printf("String value = %s 
", s1); printf("Integer value = %d
",intValue); char s2[] = "TutorialsPoint"; intValue = atoi(s2); printf("String value = %s
", s2); printf("Integer value = %d
", intValue); return 0; }

輸出

執行後,將產生以下輸出:

String value = 98765
Integer value = 98765
String value = TutorialsPoint
Integer value = 0

結論

同樣,我們可以獲得一個 C 語言程式來編寫自己的 atoi()。本文很好地解決了獲得 C 語言程式來編寫自己的 atoi() 的挑戰。

這裡提供了 C 語言程式設計程式碼以及獲得 C 語言程式以編寫自己的 atoi() 的演算法和方法。

更新於: 2023年10月30日

386 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告