命令行参数和c中的scanf函数有什么区别?

时间:2016-01-13 04:57:22

标签: c command-line command-line-arguments scanf

命令行参数和c中的scanf函数有什么区别? 1)命令行参数是什么意思? 2)如果我可以通过scanf从用户那里获取输入,那么commad行参数的需求是什么。 3)scanf和命令行参数之间的主要区别是什么

4 个答案:

答案 0 :(得分:2)

基本上有三种类型的标准输入:

  

1.编译时间

     

2.Load time

     

3.运行时间

1.编译时间:在这种类型中,程序员自己只在编译时输入代码。

2.Load time:加载时间表示将程序加载到RAM中执行的时间。在键入./a.out(或任何可执行文件名称)的命令提示符下的linux终端中,您将可执行文件加载到RAM中,编译后就可以得到它。因此,在将可执行文件与可执行文件一起加载时,无论您通过命令提示符传递什么,都将被视为命令行参数。并且可以在运行时的某些代码中使用它。简而言之,命令行参数是加载时提供的输入。

第3。运行时间:程序运行或执行时的时间, scanf()是可用于在运行时提供输入的功能之一。因此,使用 scanf(),我们可以在运行时基本为我们的程序提供输入。

答案 1 :(得分:0)

他们有两种不同的方式来获取信息。

当您使用命令行参数运行程序时,它们可作为参数提供给main函数。因为它们是C字符串,所以你可以这样读它们。使用命令行参数运行它基本上类似于:

store picture_of_zx80.jpg myPornDirectory

运行带有两个参数的store程序。

另一方面,scanf函数从标准输入读取信息,需要单独提供给可能提供的任何命令行参数。

答案 2 :(得分:0)

启动程序时会添加命令行参数。

e.g. notepad.exe myletter.txt

scanf在程序启动后读取输入管道中的信息。它还可以对输入数据应用一些格式。

答案 3 :(得分:0)

命令行参数是您在开始执行程序时传递给程序的参数,然后可以在程序中使用,例如控制某些行为。可以在运行它们时指定它们,例如,如果您有一个名为test.exe的程序,则可以使用

运行它。
test.exe someArg

从命令行。

scanf()函数根据您在标准输入缓冲区stdin中指定的内容读取输入。在命令行上执行的程序中,这通常是为了接收用户输入,例如:

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