已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。
3天前关闭。
Improve this question
我是C语言的新手,我正在尝试编写一个函数,它可以接收终端参数并将它们打印到std输出。
代码编译,但产生意外结果:
使用编译程序
gcc file.c -o file
然后执行
./file arg1
会被出示指纹
\awbs
我尝试了解为什么以及如何修复代码以显示正确的输出
我尝试更改内存的大小,但问题似乎不存在,当我尝试通过引用访问不同的字符串时,出现分段错误
1条答案
按热度按时间uemypmqf1#
代码的行为与预期完全一致。argc(或者ac)是程序参数的个数,所以你的循环只遍历参数,
ptr[i] = *av[i]
只复制第一个字母到字符数组。如果你的目标只是打印这些参数,那么就没有必要把它们复制到任何地方,你可以直接打印出来。