繁体   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