[英]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.