有人能帮我弄清楚为什么这个简单的功能不起作用吗?

时间:2021-01-14 17:09:44

标签: c project

我正在尝试将 argv 命令行中的字符串复制到“op”

这是我一直试图修复但无法修复的 C 中的函数。我知道这是一些非常基本的事情,但它让我无法理解:

  int main(int argc, char* argv[])
{
   char op[90];
   strcpy(op,*argv[1]);
   printf("\n %s",op);
   return 0;
}

1 个答案:

答案 0 :(得分:1)

使用 strcpy() 时不需要指定指针符号。更改:

strcpy(op, *argv[1]);

进入:

strcpy(op, argv[1]);

但如果没有传递参数,您仍然会得到 segfault。您应该创建一个条件来检查 argc != 1 是否为真,如果为真,则在发生任何异常之前立即停止程序。