为什么main(int argc,char * argv [])需要两个参数?

参见英文答案 > Why do we need argc while there is always a null at the end of argv?4个
我一直认为argc需要标记argv的结尾,但我刚刚通过定义了解到argv [argc] == NULL.我认为argc是完全冗余的吗?如果是这样,我一直认为C以效率的名义以冗余的方式取消了.我的假设是错误的还是有背后的历史原因?如果原因是历史性的,你能详细说明一下吗?

解决方法

历史.

哈比森&钢铁(第5版,9.9“主程序”)说如下:

Standard C requires that argv[argc] be a null pointer,but it is not so in some older implementations.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...