【发布时间】:2020-05-14 01:19:29
【问题描述】:
我在阅读一行代码以及理解这行代码上下文中的参数构成时遇到了一些问题。这保存在一个名为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”
【问题讨论】:
-
因为如果你输入
./argv0 Dion Lim那是两个参数,所以argc就是3。尝试使用./argv0 'Dion Lim',使其成为单个参数。 -
谢谢乔恩。如果可以,论点的定义是什么?