簡體   English   中英

atoi(argv[1]) 的結果是什么?

[英]What will be the result of atoi(argv[1])?

我只想知道這些行實際上是做什么的。

int main(int argc, char *argv[])

尤其是這個:

int n = atoi (argv[1]);

我在一本書上讀到了這個,但我無法理解這些行。

這會將第一個命令行參數轉換為整數。 例如,如果您這樣調用程序

./a.out 123

那么n將是123

請注意,在訪問argv[1]之前,必須檢查argc大於1 ,即檢查是否在命令行上將至少一個參數傳遞給了程序。

argc是參數的計數。 argv是參數變量的縮寫。 它將包含在命令行上傳遞的所有參數。 argv [1]包含第一個參數,因此atoi(argv [1])會將第一個參數轉換為int

int main(int argc, char *argv[])

main 的第一個參數 argc 是命令行參數的數量。 例如,如果用戶輸入:

./a.out 5 6 7

argc將為4 (a.out 算作命令行參數之一,而 5、6 和 7 算作另外三個)。

argv是一個字符串數組):

        -----
argv[0]:| *-|"./a.out"
        -----
argv[1]:| *-| "5"
        -----
argv[2]:| *-| "6"
        -----
argv[3]:| *-| "7"
        -----
argv[4]:| *-| "\0"
        -----

atoi()函數將字符串數據類型轉換為 int 數據類型。 由於命令行參數(argv[])只能接受strings ,您需要將該字符串into算術數字in order to use it as such. The in order to use it as such. The atoi`(按字母順序排列,以整數)會替你在哪里它發生在任何字符串和數字的字符串轉換成數字運算里面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM