我在阅读一行代码时遇到了一些麻烦,并且在这段代码的上下文中理解了构成参数的内容。这保存在名为argv0.c
的文件中
#include <cs50.h>
#include <stdio.h>
int main(int argc, string argv[])
{
if (argc == 2)
{
printf("hello, %s\n", argv[1]);
}
else
{
printf("hello, world\n");
}
}
我将代码编译如下:
make argv0
./argv0
接下来,提示我输入。问题出在这里:
如果我在终端中输入“ Dion Lim”,Dion Lim是否被视为自变量?如果是这样,是否有两个论点?
为什么在终端中输入“ Dion Lim”会得到“ Hello,World”,但是如果我输入“ Dion”会得到“ Hello,Dion”
最佳答案
Q1)是的,这是两个论点。
Q2)因为argc
考虑可执行文件的名称,所以它是第一个参数。所以:
./argv0 Dion Lim // argc == 3
./argv0 Diom // argc == 2
./argv0 // argc == 1
您可以获取更多详细信息here。
关于c - “C中的参数”的定义是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57108313/