编写一个接受一个命令行参数(您的名字)并提示用户输入用户名(您的姓氏)的c程序,然后在屏幕上显示“欢迎使用操作系统”。
有人可以帮我解决这个问题吗?我从下面知道它使用了类似的东西,但是我不知道如何打印出来?有人可以提供完整答案吗?提前致谢。
int main (int argc, int *argv[])
最佳答案
argc
是一个整数,表示传递给程序的命令行参数的数量。它是参数计数,因此是名称。 *argv[]
(或**argv
取决于开发人员的偏好)表示实际参数。 argv
的专有名称是参数向量,如果您熟悉该特定数据类型,则这很有意义。
传入的第一个参数argc = 1
是程序的名称。 argc始终至少是一个,因为argv始终至少包含程序名称。
要回答您的问题,您需要传入第二个命令行参数argc = 2
,其中argv [1]等于用户的名字。我们可以这样实现:
int main(int argc, char** argv)
{
// This line will print out how many command line arguments were passed in.
// Remember that it will always be at least one because the name of the program
// counts as an argument.
printf("argc: %d", argc);
// Remember that you want the second argument in argv,
// so you have to call argv[1] because arrays in C
// are 0-index based. Think of them as offsets.
printf("\nWelcome, %s", argv[1]);
return 0;
}
这应该使您入门。您现在要做的就是编写代码以从标准输入中读取字符串并将其输出到控制台。
关于c - C中的一个命令行参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43200025/