C语言 为什么我的代码只复制了终端参数的首字母,而没有完整的名称?[已关闭]

aurhwmvo  于 2023-01-08  发布在  其他
关注(0)|答案(1)|浏览(97)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。

3天前关闭。
Improve this question
我是C语言的新手,我正在尝试编写一个函数,它可以接收终端参数并将它们打印到std输出。
代码编译,但产生意外结果:

使用编译程序

gcc file.c -o file

然后执行

./file arg1

会被出示指纹

\awbs

我尝试了解为什么以及如何修复代码以显示正确的输出
我尝试更改内存的大小,但问题似乎不存在,当我尝试通过引用访问不同的字符串时,出现分段错误

uemypmqf

uemypmqf1#

代码的行为与预期完全一致。argc(或者ac)是程序参数的个数,所以你的循环只遍历参数,ptr[i] = *av[i]只复制第一个字母到字符数组。
如果你的目标只是打印这些参数,那么就没有必要把它们复制到任何地方,你可以直接打印出来。

相关问题