gpt4 book ai didi

c - 基于 Unix 的操作系统 : Coding Bug

转载 作者:行者123 更新时间:2023-11-30 16:35:54 24 4
gpt4 key购买 nike

我正在尝试构建一个类似 echo 的命令,我将其命名为 xv6 的 code。问题是如果:

输入:

$code Hello World

输出:

user space:Hello user space:World

正确的输出应该是:

user space: Hello World

有人可以帮助我吗?

int
main(int argc, char *argv[])
{
int i;

if(argc <= 1){
printf(1," %s user space:", argv[0]);
exit();
}

for(i = 1; i < argc; i++){
printf(1, " print in user space:%s",argv[i]);
}
printf(1, "\n");
exit();
}

最佳答案

程序名称也作为参数传递给您的主函数,因此您在这里有三个(因为 hello 和 world 被视为单独的参数)参数。您的代码中存在几个问题,因为您首先有两个参数 if 语句将为 false ,并且您没有在 for 循环中正确打印,以下内容可能会有所帮助:

int  main(int argc, char *argv[])
{
int i;
printf("number of arguments : %d ",argc);
//argv array index count from 0
for(i = 0; i < argc; i++){
printf("argument number %d : %s",i,argv[i]); // issue in your code
}
printf("\n");//issue in your code
exit(0);
}

关于c - 基于 Unix 的操作系统 : Coding Bug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48701437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com