作者:手机用户2402851335 | 2023-06-29 14:21
我的教授和几个学生正在争论是否argv
无效终止.我的朋友写了一个小程序,然后打印出来,null
但另一个孩子说他可能只是在阅读空白记忆.有人能解决这个问题吗?
1> pmg..:
从标准:
5.1.2.2.1程序启动
...
- argv [argc]应为空指针.
所以,是的; argv以null结尾
@Jack:`argv`是一个指针; `argv [0]`也是一个指针.很可能`sizeof(argv)/ sizeof(argv [0])`评估为'1` ......无论如何,你的想法与我所说的相似(不必走到`argv`数组).
它没有比那更明确;)
我不知道**为什么**.但它通过避免必须遍历`argv`数组来计算参数来使编写一些程序变得容易一些.
2> Steve M..:
根据标准,"argv [argc]应为空指针"(5.1.2.2.1).
@Reigel:来自1979年的`exec`的手册页(http://plan9.bell-labs.com/7thEdMan/v7vol1.pdf)表明这比标准早了很多,并且包含了一个可能的暗示为什么就是这样:"Argv可以在另一个execv中直接使用,因为argv [argc]是0."