c中主函数后到底有没有参数

我们课本上说main后括号内要加void,但是也可以不写,我同学跟我说,这个说法在国外是没有的,中国解释的是错的

影月优雅
浏览 1632回答 3
3回答

onemoo

你课本中写的是对的!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

主函数一般是没有参数的,但是你要了解其实主函数是可以有参数的,如这种: int main(int argc,char* argv[]){} 但是不常用你不必太过纠结这件事,因为主函数是系统调用的,你只要清楚主函数是一个程序的入口函数就可以了

王富贵_Program

你同学说的很对学校就没有教过main里面写Void
打开App,查看更多内容
随时随地看视频慕课网APP