学徒1 发表于 2020-8-28 11:53:38

新人蠢问题1

int main()

int main(void)
有什么区别吗?

昨非 发表于 2020-8-28 11:54:32

本帖最后由 昨非 于 2020-8-28 14:47 编辑

int main() 不接受参数,有返回值,返回类型为int型
int main(void)同样不接受参数,返回值为int型
void main() 函数类型为void,无返回值

(为之前的错误回答道歉,同时感谢各位老师的指正,帮忙@下版主,把最佳撤了吧,谢谢)

学徒1 发表于 2020-8-28 11:55:10

昨非 发表于 2020-8-28 11:54
前者有返回值,后者相当于void main ,无返回值

谢谢!

baige 发表于 2020-8-28 11:59:58

昨非 发表于 2020-8-28 11:54
前者有返回值,后者相当于void main ,无返回值

main()和main(void)/*这两个main函数都不能接受参数。main()这种写法在C99标准以前的版本中使用,
                                    而在C99标准之后如果main函数不需要接受参数的情况下,会写做main(void)。*/

昨非 发表于 2020-8-28 12:01:44

baige 发表于 2020-8-28 11:59
main()和main(void)/*这两个main函数都不能接受参数。main()这种写法在C99标准以前的版本中使用,
...

嗯,学到了,感谢讲解

sunrise085 发表于 2020-8-28 12:11:47

昨非 发表于 2020-8-28 11:54
前者有返回值,后者相当于void main ,无返回值

这两个写法都是有返回值的,返回值是int
括号内的void是说没有参数

昨非 发表于 2020-8-28 12:25:17

sunrise085 发表于 2020-8-28 12:11
这两个写法都是有返回值的,返回值是int
括号内的void是说没有参数

也就是说函数类型与返回值必定相同,main()和main(void)相同,返回值该是什么还是什么对吧

昨非 发表于 2020-8-28 12:27:39

抱歉楼主,我理解错了,楼上老师讲的是对的

学徒1 发表于 2020-8-28 12:29:29

sunrise085 发表于 2020-8-28 12:11
这两个写法都是有返回值的,返回值是int
括号内的void是说没有参数

是这样的吗?
谢谢{:10_297:}

学徒1 发表于 2020-8-28 12:30:00

baige 发表于 2020-8-28 11:59
main()和main(void)/*这两个main函数都不能接受参数。main()这种写法在C99标准以前的版本中使用,
...

看起来挺复杂的{:10_266:}

王逗比666 发表于 2020-8-28 12:50:22

C标准建议在函数没有参数的时候写一个void,后者是c标准写法

永恒的蓝色梦想 发表于 2020-8-28 13:14:38

昨非 发表于 2020-8-28 11:54
前者有返回值,后者相当于void main ,无返回值

@zltzlt 错解,撤销最佳
页: [1]
查看完整版本: 新人蠢问题1