鱼C论坛

 找回密码
 立即注册
查看: 3373|回复: 8

这个代码哪错啦!!!

[复制链接]
发表于 2012-7-7 13:47:31 | 显示全部楼层 |阅读模式
1鱼币
本帖最后由 昔日时光 于 2012-7-7 13:49 编辑
  1. #include <stdio.h>

  2. void main()
  3. {
  4. printf("%d\n",sizeof(int));
  5. }
复制代码

为什么 会有这种情况                   1.obj - 1 error(s), 0 warning(s)

最佳答案

查看完整内容

在最新的 C99 标准中,只有以下两种定义方式是正确的: int指明了main()函数的返回类型,函数名后面的圆括号一般包含传递给函数的信息。void表示没有给函数传递参数。 浏览老版本的C代码,将会发现程序常常以: main() { } 这种形式开始。C90标准允许这种形式,但是C99标准不允许。因此即使你当前的编译器允许,也不要这么写。 至于LZ用到的这一种形式: void main() { } 有些编译器允许这种形式,但是这种形 ...
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-7 13:47:32 | 显示全部楼层
在最新的 C99 标准中,只有以下两种定义方式是正确的:

  1. int main( void ) // 无参数形式
  2. {
  3. //...
  4. return 0;
  5. }


  6. int main( int argc, char *argv[] ) // 带参数形式
  7. {
  8. //...
  9. return 0;
  10. }

复制代码
int指明了main()函数的返回类型,函数名后面的圆括号一般包含传递给函数的信息。void表示没有给函数传递参数。

浏览老版本的C代码,将会发现程序常常以:

main()
{
}

这种形式开始。C90标准允许这种形式,但是C99标准不允许。因此即使你当前的编译器允许,也不要这么写。

至于LZ用到的这一种形式:

void main()
{
}

有些编译器允许这种形式,但是这种形式是没有被任何标准所接受。

C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地表示:

void main( ) 的定义从来就不存在于 C++ 或者 C 。

所以,编译器不必接受这种形式,并且很多编译器也不允许这么写。

坚持使用标准的意义在于:当你把程序从一个编译器移到另一个编译器时,照样能正常运行。



`
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-7 15:35:02 | 显示全部楼层
你用的是什么编译器?  我在我电脑上可以啊  我用的是 VC++6.0的  我编译 运行都OK:o
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-7 16:10:59 | 显示全部楼层
编译器的 不同有些格式是一样的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-7 19:51:56 | 显示全部楼层
用的codeblocks吧,把void 改成int{:1_1:}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-8 12:40:49 | 显示全部楼层
用VC++没有问题
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-8 22:05:54 | 显示全部楼层
这个就是编译器的问题了把.我用devc没问题
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-10 16:07:03 | 显示全部楼层
gcc下,void mian这样下是错误的。无论是C还是C++,根本没有void main 这样的语法。只不过微软的编译器支持这种错误而已,进而成为旧习,谁让用人家的编译环境 的人多呢。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-10 17:33:45 | 显示全部楼层
;P 又见void main(),把error的情况贴出来
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-14 02:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表