簡體   English   中英

命令行參數和c中的scanf函數有什么區別?

[英]What is difference between command line argument and scanf function in c?

命令行參數和c中的scanf函數有什么區別? 1)命令行參數是什么意思? 2)如果我可以通過scanf接受用戶的輸入,那么需要使用逗號行參數。 3)scanf和命令行參數之間的主要區別是什么

基本上有三種類型的標准輸入:

1,編譯時間

2.加載時間

3,運行時間

1.編譯時間:這種類型的程序員自己只在編譯時才輸入代碼。

2.加載時間:加載時間是指程序被加載到RAM中執行的時間。 在Linux終端的命令提示符下,鍵入./a.out(或任何可執行文件名稱)時,您正在將可執行文件加載到RAM中,這是在編譯后獲得的。 因此,在將可執行文件與可執行文件一起加載時,通過命令提示符傳遞的所有內容均被視為命令行參數。 那可以在運行時的某些地方用在代碼中。 簡而言之, 命令行args是加載時提供的輸入。

3.運行時間: scanf()是程序運行或執行時的時間,它是可用於在運行時提供輸入的功能之一。 因此,使用scanf(),我們基本上可以在運行時為程序提供輸入。

它們是將信息獲取到程序中的兩種不同方式。

當您運行帶有命令行參數的程序時,它們可作為參數供main函數使用。 由於它們是C字符串,因此您可以這樣閱讀它們。 使用命令行參數運行它基本上是這樣的:

store picture_of_zx80.jpg myPornDirectory

那正在運行帶有兩個參數的store程序。

另一方面, scanf函數從標准輸入中讀取信息,這需要單獨提供給可能提供的任何命令行參數。

啟動程序時,將添加命令行參數。

e.g. notepad.exe myletter.txt

在程序啟動后,scanf從輸入管道讀取信息。 它還可以對輸入數據應用某種格式。

命令行參數是您在開始執行程序時傳遞給程序的參數,然后可以在程序中使用該參數,例如,控制某些行為。 它們可以在運行時指定,例如,如果您有一個名為test.exe的程序,則可以使用

test.exe someArg

從命令行。

scanf()函數根據您從標准輸入緩沖區stdin指定的內容讀取輸入。 在命令行執行的程序中,通常這樣做是為了接收用戶輸入,例如:

int main(void) {
int input = 0;
scanf("%d",input);
printf("You inputted: %d",input);
return 0;
}

暫無
暫無

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

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