新手求指点,请问int main(void)什么意思int main()的括号里化学式什么时候加括号可以加东西

“int main()”和“void main()”的区别在那里?
“int main()”和“void main()”的区别在那里?
我用void main()的时候好像不需要返回值,int main()则需要,为什么会这样呢?程序的运行结果也一样呀,难道int main()是C语言用的?void main()是C++语言用的?
Q:代码中有void main、iostream.h等不标准的东西A:这个是个老问题了。关于void main,C++和C的发明者都说的非常清楚,C/C++中的main函数只有两种形式:int main(int argc,char* argv[]);int main();第一种里的argv,由于指针和数组是等价的,所以可以改为char**。argc表示接受的命令行参数个数,argv的每个元素表示命令行参数。argv[0]是程序的名字。另外,《C程序设计语言》里使用了main()这种形式,一是因为第一版时候还没有标准C,还有一个是C中的函数默认返回值为int(C++必须显式声明)。至于iostream.h嘛,自己看看编译器的include目录,看看有没有这个文件!希望大家能多多用用这些标准的东西,别被谭浩强之类的叫兽误导了,比如用char接受getchar返回值(标准的是int),检查new的返回值(标准的是抛出异常)等。
其他回答 (6)
我最近也在想这个问题
不过某些编程环境不支持void main
而且 虽然int main有返回值 但作用不大 几乎不用
所以理论上还是一样的
而且可以肯定都是C语言的
不是的,main()也是一个函数,只是它比较特殊,每个程序必须有的一个入口函数,他返不返回值都可以的,不管用什么语言。
int main() 和其他有返回值的函数一样,表示这个函数要返回一个int 型的值,而且必须返回,要不就错了,而void main() 表示这个函数不要返回任何值。谢谢,希望对你有帮助,呵呵。
C语言和C++语言都要有Main()函数,返不返回值,其实是一样的,实质都一样。对程序一般是没有影响的。
方法名前面的是返回类型,比如:int&&, string&& ,void(表示无返回)。。。之类的。
这种适用于大部份语言 比如:Java ,c语言。。
括号前面的就是方法名。
main方法是程序的入口,大部份是不需要返回其它的类型的,所以大部份都用void
一般写的main函数有人用void 有人return 0;
不是C语言用的或C++的区别。要说区别就是有些编译器要求你main必须返回值,LINUX的GCC编译器就是这样,微软的编译器不需要
希望我的答案可以帮到你
返回值不同& 但在C++中 main一般返回int型& 否则一些编译器会报错
区别就在于返回值问题!
void main()&是没有返回值 的,否则报错!
int main() 需要返回一个int 类型的值!
void main()//主函数&&&&&&&&&&&&&&&&&&&&&&&&&&&
{printf("hello world!");}
int main()
{printf("hello world!");
return 0;//有返回值
有的编译器,没有返回值也不报错,是在末尾附加一个返回值吧!
相关知识等待您来回答
编程领域专家
& &SOGOU - 京ICP证050897号void 对于变量 main 是无效类型是什么意思-中国学网-中国IT综合门户网站
> void 对于变量 main 是无效类型是什么意思
void 对于变量 main 是无效类型是什么意思
转载 编辑:李强
为了帮助网友解决“void 对于变量 main 是无效类型”相关的问题,中国学网通过互联网对“void 对于变量 main 是无效类型”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:void 对于变量 main 是无效类型是什么意思,具体解决方案如下:解决方案1:main函数的返回类型是什么你就要用什么类型定义如果没返回是void如果有个int返回就是int&main(xxx)&{}如果有文本返回就是&String&main(xxx)&{}以此类推解决方案2:main函数必须用&int&类型的返回值。不能void&c++中通过对数据库的索引,我们还为您准备了:答:main函数的返回类型是什么你就要用什么类型定义如果没返回是void如果有个int返回就是int&main(xxx)&{}如果有文本返回就是&String&main(xxx)&{}以此类推===========================================问:"void 对于变量 paint 是无效类型"这句话怎么解释 源代码如下 public vo...答:请给完整源代码,估计你之前的代码中少了个 }。===========================================问:public void onCreate(Bundle savedInstanceState) { super.onCreate(sa...答:请不要在构造函数里面 定义方法 方法应该定义在 class 级别下 改成这样: private class Myview extends View{ public Myview (Context context) { super(context); } @Override protected void onDraw (Canvas canvas) { super.onDraw(canvas);...===========================================问:import java.awt.*; import java.awt.event.*; public class MyFirstFra...答: public static void main(String[] args) { MyFirstFrame mft = new ... void 对于变量 actionPerformed 是无效类型 标记“(”上有语法错误,应为 ; ...===========================================问:到底有什么区别? 说得言简意赅些~!!~ 什么时候该用,什么时候不该用? 为...答:晕哦,一个main和一个void main就发了两百的悬赏分。以后的问题多了去了,你怎么弄哦。 顺便跟你说一下吧: void main 它有void main(void)或void main(int ,char **)两种类型,其中第一种是无参类型,第二种是有参类型。我曾看到一本书上说main...===========================================问:#include&stdio.h&#define integer 4int main(void)//this program is p...答:函数如果定义返回类型为void,那就不能在函数体里出现return一个特定值的情况,而只能用return。 如果返回值类型为指定类型,函数体内使用return的地方后面都要跟指定类型的返回值或表达式。===========================================问:#include&stdio.h&#define integer 4int main(void)//this program is p...答:main函数 默认返回值是int 所以 写程序时,不需要在函数名前面加返回类型的 例如一个函数返回int的类型 int fd() 无返回值类型的函数是 void fd() 此时的void main 是无返回值的主函数;假如你不写viod ,main默认返回int 例如 main() {} void m...===========================================问:例如 Car color; color = new Car(); color.speed=60 编译的时候出...答:你不能把属性定义到方法里,你应该把属性定义到类里,方法的外面,你的属性和方法应该是同级别的: public class Car{ static int speed=70; static String color="white"; public static void main(String[]args){ System.out.println("chedeya...===========================================问:main函数的类型定义有以下六种格式,对否?谢谢! int main(void) {retu...答:都可以,main()这种也行,但只有 int main(void) {return 0;} int main(int argc,char argv*[]) {return 0;} int main(int argc,char *argv[] char *envs[]) {return 0;} 这三种形式是推荐的,主函数应该有返回值,系统要根据返回值判断程序的运...===========================================main函数的返回类型是什么你就要用什么类型定义如果没返回是void如果有个int返回就是int&main(xxx)&{}如果有文本返回就是&String&main(xxx)&{}...===========================================定义方法 方法应该定义在 class 级别下 改成这样: private class Myview extends View{ public Myview (Context context) { super(context); } @Override protected void onDraw (Can...=========================================== 还是我来告诉你吧!请不要在构造函数里面定义方法 方法应该定义在class级别下 改成这样: privateclassMyviewextendsView{ publicMyview(Contextcontext){ super(contex...===========================================问题1 : 在MSSQL 2005下你可以使用varchar(max)类型除了不受8000大小限制,和varchar基本一样 如下:declare @aa varchar(max)set @aa=(SELECT cast(Msg_XML as varcha...===========================================void fun(int a[5],int n) 相当于void fun(int a[],int n);或者void fun(int *a,int n) D中b[0]是int型,和int *a明显类型不一致。===========================================p=a[i] 表格将a数组中的某个变量给p=========================================== B===========================================相同得假=0;第三位数:一个为1,一个是0,不相同得真=1;第四数位:没有的补零,则:一个1,一个0,不相同得真=1;故5^9=11000 = 12; 所以两个相同的数取异或必然是0;同时异或运算满...=========================================== 至于字面值常量"today"是存放在常量区域的,只有程序运行结束之后才会收回的。 如果楼主学过C的话,应该很好理解。如果没学过的话,建议楼主看下C中关于内存这块的内容...===========================================变量和有序变量两类。 2.无序分类变量 无序分类变量(unordered categorical variable)是... ±、+、++、+++分类;疗效按治愈、显效、好转、无效分类。对于有序分类变量,应先按...===========================================
本文欢迎转载,转载请注明:转载自中国学网: []
用户还关注
可能有帮助void main()还是int main()_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:345,163贴子:
void main()还是int main()收藏
void main()还是int main()
最近在论坛上看到有不少网友的程序中,main函数都写成void main(),而不是int main()。那么,到底哪个是正确的,或至少是推荐使用的呢?这篇文章本来是自己想写的,但有些概念不是很清楚,于是在网上搜索了一下,发现了moon网友的一篇非常好的文章,对很多模糊不清的概念都讲解的非常清楚,值得学习和借鉴,特转载过来,一起学习。全文如下:
main函数的返回值大家注意了吗,也许有人会说可以没有返回值,如果你深入到程序的CRT启动代码,你会发现....
__initenv =
mainret = main(argc, argv, envp);
if ( !managedapp )
exit(mainret);
if (has_cctor == 0)
按照新的C99标准,即使函数本身没有定义返回值,编译器也会加上,以返回给激发程序,运行状态。很多人甚至市面上的一些书籍,都使用了void main( ) ,其实这是错误的。C/C++ 中从来没有定义过void main( ) 。C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 The definition void main( ) { /* ... * / } is not and never has been C++, nor has it even been C. ( void main( ) 从来就不存在于 C++ 或者 C )。下面我分别说一下 C 和 C++ 标准中对 main 函数的定义。
“The C programming Language(《C 程序设计语言》)用的就是 main( )。”--- 这是因为第一版的C语言只有一种类型,那就是int,没有char,没有long,没有 float,…………既然只有一种类型,那么就可以不写,后来的改进版为了兼容以前的代码于是规定:不明确标明返回值的,默认返回值为int,也就是说 main()等同于int main(),而不是等同于void main()。在C99中,标准要求编译器至少给 main() 这种用法来个警告。
(1) C语言中
在 C89 中,main( ) 是可以接受的。 Brian W. Kernighan 和 Dennis M. Ritchie 的经典巨著 The C programming Language 2e(《C 程序设计语言第二版》)用的就是 main( )。不过在最新的 C99 标准中,只有以下两种定义方式是正确的:
int main( void )
int main( int argc, char *argv[] )
(参考资料:ISO/IEC
(E) Programming languages — C 5.1.2.2.1 Program startup)
当然,我们也可以做一点小小的改动。例如:char *argv[] 可以写成 char **argv;argv 和 argc 可以改成别的变量名(如 intval 和 charval),不过一定要符合变量的命名规则。
如果不需要从命令行中获取参数,请用int main(void) ;否则请用int main( int argc, char *argv[] ) 。
main 函数的返回值类型必须是 int ,这样返回值才能传递给程序的激活者(如操作系统)。
如果 main 函数的最后没有写 return 语句的话,C99 规定编译器要自动在生成的目标文件中(如 exe 文件)加入return 0; ,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return 语句,虽然没有这个必要,但这是一个好的习惯。注意,vc6不会在目标文件中加入return 0; ,大概是因为 vc6 是 98 年的产品,所以才不支持这个特性。现在明白我为什么建议你最好加上 return 语句了吧!不过,gcc3.2(Linux 下的 C 编译器)会在生成的目标文件中加入 return 0; 。
(2) C++语言中
C++98 中定义了如下两种 main 函数的定义方式:
int main( )
int main( int argc, char *argv[] )
(参考资料:ISO/IEC -9-01)Programming languages — C++ 3.6 Start and termination)
int main( ) 等同于 C99 中的 int main( void ) ;int main( int argc, char *argv[] ) 的用法也和 C99 中定义的一样。同样,main 函数的返回值类型也必须是int。如果main函数的末尾没写return语句,C++98 规定编译器要自动在生成的目标文件中加入 return 0; 。同样,vc6 也不支持这个特性,但是 g++3.2(Linux 下的 C++ 编译器)支持。
(3) 关于 void main
在 C 和 C++ 中,不接收任何参数也不返回任何信息的函数原型为“void foo(void);”。可能正是因为这个,所以很多人都误认为如果不需要程序返回值时可以把 main函数定义成void main(void) 。然而这是错误的!main 函数的返回值应该定义为 int 类型,C 和 C++ 标准中都是这样规定的。虽然在一些编译器中,void main 可以通过编译(如 vc6),但并非所有编译器都支持 void main ,因为标准中从来没有定义过 void main 。g++3.2 中如果 main 函数的返回值不是 int 类型,就根本通不过编译。而 gcc3.2 则会发出警告。所以,如果你想你的程序拥有很好的可移植性,请一定要用 int main。
总而言之:
void main 主函数没有返回值,main 默认为int 型,即 int main(), 返回整数。注意,新标准不允许使用默认返回值,即int不能省,而且对应main函数不再支持void型返回值,因此为了使程序有很好的移植性,强烈建议使用:
int main()
return 0; /* 新标准主函数的返回值这条语句可以省略 */
返回值的作用:
main函数的返回值用于说明程序的退出状态。如果返回0,则代表程序正常退出;返回其它数字的含义则由系统决定。通常,返回非零代表程序异常退出。下面我们在winxp环境下做一个小实验。首先编译下面的程序:
int main( void )
然后打开附件里的“命令提示符”,在命令行里运行刚才编译好的可执行文件,然后输入“echo%ERRORLEVEL%”,回车,就可以看到程序的返回值为0。假设刚才编译好的文件是a.exe,如果输入“a && dir”,则会列出当前目录下的文件夹和文件。但是如果改成“return -1”,或者别的非0值,重新编译后输入“a && dir”,则dir不会执行。因为&&的含义是:如果&&前面的程序正常退出,则继续执行&&后面的程序,否则不执行。也就是说,利用程序的返回值,我们可以控制要不要执行下一个程序。这就是int main的好处。如果你有兴趣,也可以把main函数的返回值类型改成非int类型(如float),重新编译后执行“a && dir”,看看会出现什么情况,想想为什么会出现那样的情况。顺便提一下,如果输入a || dir的话,则表示如果a异常退出,则执行dir。
俺不想打击您,不过既然都翻标准了,那么说严谨点比较好,不要忽略平台的实现定义……把话说那么绝对,你让某些平台情何以堪……比如带envp甚至第4个,5个参数的
绝对厉害,话说二级考试一大堆的main()
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或}

我要回帖

更多关于 void main和int main 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信