我们课本上说main后括号内要加void,但是也可以不写,我同学跟我说,这个说法在国外是没有的,中国解释的是错的
3 回答
已采纳
onemoo
TA贡献883条经验 获得超454个赞
你课本中写的是对的!
C 标准规定,函数如果不需要参数,参数列表中应该写上 void。 参数列表留空并不表示函数无参数,而是表示函数的参数个数未指定,并且编译器不会对调用参数进行类型检查,这是有隐患的!
事实上参数留空这种写法只应存在于 C89 之前的很老的 C 代码中。 虽然这么写不算不合语法,但其是不符合程序员意图且易出错的写法,应该避免。
至于 main 函数,C 标准规定 main 函数原型应该是以下形式:
不需要使用参数时 int main (void)
需要使用参数时 int main (int argc, char *argv[]) 或 int main (int argc, char **argv) *这两种写法是等价的*
其实就是说不需要参数时,main函数的参数列表里也要写 void。
吐槽:不知道你的同学是从哪里道听途说的...
其实让我很惊讶的是,你的课本中对此的描述非常正确,这很赞! 事实上我见过太多的国内教材都写得一塌糊涂...
也许这说明你校的教学水平不错,要好好学啊!
NJP
TA贡献32条经验 获得超39个赞
主函数一般是没有参数的,但是你要了解其实主函数是可以有参数的,如这种:
int main(int argc,char* argv[]){}
但是不常用你不必太过纠结这件事,因为主函数是系统调用的,你只要清楚主函数是一个程序的入口函数就可以了
- 3 回答
- 1 关注
- 1644 浏览
添加回答
举报
0/150
提交
取消