编译时出现main must return int

在dev-c++中编译一个程序 结果如下:
`main' must return `int'
不懂 我写的是void main()啊
程序如下:
#include<stdio.h>
void main()
{int a,b,c;
long int u,n;
float x,y,z;
char c1,c2;
a=3;b=4;c=5;
x=1.2;y=2.4;z=-3.6;
u=51274;n=128765;
c1='a';c2='b';
printf("\n");
printf("a=%2db=%2dc=%2d\n",a,b,c);
printf("x=%8.6f,y=%8.6f,z=%9.6f\n",x,y,z);
printf("x+y=%5.2fy+z=%5.2fz+x=%5.2f\n",x+y,y+z,z+x);
printf("u=%6ldn=%9ld\n",u,n);
printf("c1='%c'or%d\n",c1,c1);
printf("c2='%c'or%d\n",c2,c2);
}
大家帮忙看看
那什么时候必须用int main呢?
用c++编译C一般还会遇到什么问题?
还有 dev c++ 程序运行结果显示在哪的?

在C++中,main()一般要求用int,即应写为 

int main (){ 

…… 

return 0; 

}

但有一些也可以写为void main() ,而有一些不能这么写,

任何时候都可以用int main(),所以建议不用void main(),

用C++编译器编译C一般不会有什么问题,因为C++是兼容C的。

扩展资料:

在C语言当中,一个程序,无论复杂或简单,总体上都是一个“函数”;这个函数就称为“main() 函数”,也就是“主函数”。比如有个“做菜”程序,那么“ 做菜 ”这个过程就是“主函数”。在主函数中,根据情况,你可能还需要调用“买菜,切菜,炒菜”等子函数。

main函数在程序中大多数是必须存在的,但是依然有例外情况,比如windows编程中可以编写一个动态链接库(dll)模块,这是其他windows程序可以使用的代码。

由于DLL模块不是独立的程序,因此不需要main函数。再比如,用于专业环境的程序-----如机器人中的控制芯片--可能不需要main函数。

从函数参数的形式上看,包含一个整型和一个指向字符指针的指针。当一个C的源程序经过编译、链接后,会生成扩展名为.EXE的可执行文件(对windows操作系统而言),这是可以在操作系统下直接运行的文件,换句话说,就是由系统来启动运行的。由系统在启动运行时传递参数。

在操作系统环境下,一条完整的运行命令应包括两部分:命令与相应的参数。其格式为:

命令参数1参数2....参数nt;

此格式也称为命令行。命令行中的命令就是可执行文件的文件名,其后所跟参数需用空格分隔,并为对命令的进一步补充,也即是传递给main()函数的参数。

命令行与main()函数的参数存在如下的关系:

设命令行为:program str1 str2 str3 str4 str5

其中program为文件名,也就是一个由program.c经编译、链接后生成的可执行文件program.exe,其后各跟5个参数。对main()函数来说,它的参数argc记录了命令行中命令与参数的个数,共6个,指针数组的大小由参数argc的值决定,即为char*argv。

数组的各指针分别指向一个字符串。应当引起注意的是接收到的指针数组的各指针是从命令行的开始接收的,首先接收到的是命令,其后才是参数。

参考资料来源:百度百科--C++

参考资料来源:百度百科--main函数

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-26
在C++中,main()一般要求用int,即应写为
int main (){
……
return 0;
}

但有一些也可以写为void main() ,而有一些不能这么写
--------------------------------------------------------------------------------------------
任何时候都可以用int main(),所以建议不用void main()

用C++编译器编译C一般不会有什么问题,因为C++是兼容C的

要看输出,有一个办法:
在#include<stdio.h>后的下一行加#include<conio.h>
并在return 0;前一行加getch();本回答被提问者和网友采纳
第2个回答  2009-04-06
这个是编译器的问题,和程序无关的,你可以改成下面的形式:

int main()
{
...
return 0;
}

___________________________________________________________________

用int声明函数是为了给操作系统返回一个值,表示程序正常运行与否。
dev-c++编译器对代码的要求比较严格,所以会出现`main' must return `int'
而用visual c++则不会提示这样的信息。

C语言问题 error: `main' must return `int'
错误提示的意思是,main函数必须返回int类型。这个要求是C99提出的,所以采用C99及以后标准的编译器,都会强制要求main函数返回int类型。即这样:int main(){ ... return 0;} 而现在很多书都不注意规范,用着老编译器,这种事情毫不在意,写成main()和 void main()的屡见不鲜,这个需要个人...

error: '::main' must return 'int'解决办法
再者,编译器对不同标准的支持程度不一,有的编译器在调用int()函数时,需要确保返回值为'int'类型。这亦是导致错误的原因之一。解决这一问题的关键在于对main函数类型的正确理解。将void main()修改为int main(),并确保代码中包含return 0;这一句。通过这一系列的调整,你的程序将能够顺利编译,避...

: `main' must return `int' 是什么意思?要如何改?
这句话的意思是说,你的main函数的返回值必须是int型的。要想改成其他格式的,你只需要在main函数前改了就行了。例如:public void main{ \/\/\/ 这里就不需要那个returnXXX的句子了 } 这个main函数就是无返回值的 public int main{ \/\/\/ return int 某个值;} 这个main函数就要求你必须返回一个...

c语言运行时候出现“main” must return "int"是什么意思
如果是这样写的“void main()”就不需要返回任何值;如果是写成“int main()”函数就必须要返回一个值,并且这个事须是int型;如果写成“main()”,即返回类型缺省时,函数可不需返回一个值,也可返回一个值,但必须是整型,因为在缺省情况下,默认类型为int型!

谁知道程序编译时总是出现`main' must return `int' 时什么问题?
main函数默认返回类型是int,因此要在函数末尾加return 0,如果不返回,在main函数前加void,即无返回类型。即main函数的主要写法:1.main()\/\/不加默认为int型 { return 0;\/\/函数末尾要返回int } 2.void main()\/\/如果不返回,就要加void { } ...

[Error] '::main' must return 'int' 错了甚麼
应该是错在main函数的返回类型上。有些编译系统不允许写void main(),那可以改成int main()或直接写main()

C语言编的,提示 'main' must return 'int',是什么问题?
在C++中,main()一般要求用int,即应写为 int main (){ ……return 0;} 但有一些也可以写为void main() ,而有一些不能这么写,任何时候都可以用int main(),所以建议不用void main(),用C++编译器编译C一般不会有什么问题,因为C++是兼容C的。

程序运行报错error: `main' must return `int' 大神帮忙看看怎么修改...
在程序main()函数的最后一个 } 前面,加上一行:return 0;再编译试试。

编译时出现main must return int
……return 0;} 但有一些也可以写为void main(),而有一些不能这么写 --- 任何时候都可以用int main(),所以建议不用void main()用C++编译器编译C一般不会有什么问题,因为C++是兼容C的 要看输出,有一个办法:在#include<stdio.h>后的下一行加#include<conio.h> 并在return 0;前一行加getch(...

main must return int什么意思
可能是你的编译器不支持main不返回值,你写成 int main() { return 0;} 试试

相似回答