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