最初级问题
本帖最后由 nahongyan1997 于 2020-8-12 15:30 编辑代码:
#include <stdio.h>
void main(){
printf("111");
}
为什么这样不能执行而这样可以执行,代码:
#include <stdio.h>
int main(){
printf("111");
return 0;
}
有些编译器写 void main() 会报错,而且你第二段代码第 5 行末尾漏了个分号,是不能执行的 int main(void)这才是ANSI C的标准,void main()
这是很久以前的非正式标准,最新的编译器都不支持void main()了 标准C语言的main函数的返回值是 int 类型
不过有部分编译器可以定义main函数的返回值类型为 void ,但是实际上这是错的。
很多编译器会认为void main() 是不对的。 本帖最后由 风过无痕1989 于 2020-8-12 15:39 编辑
我的VC++6.0编译器与DEV_C++5.11,可以执行你的两段程序,只是第二段程序第5句:return 0后面必须要加分号,否则编译器报错
用 DEV_C++5.11再编译运行时,会报错,原因是两者之一:1、你使用的是 .cpp 时,报错: command line option'-std=c99' is valid for C/ObiC but not for C++
'::main' must return 'int',此时,你只需要将后缀 .cpp 改成 .c 即可;2、是你那个目录了下其他的文件太多(有可能还是编译器分不清楚是C程序,还是C++程序,此时,将该目录下的其他不必要的文件全部删除,只留下 test.c 和 Debug文件包即可,如图:
页:
[1]