c语言中voidmain和intmain有什么区别

2021-03-07 12:22:17 字数 2704 阅读 2682

1楼:徜逸

1、有无返回值

void main没有返回值,int main有返回值。

2、返回值类型

int main返回int类型的数据,void main不返回。

但是在c语言推荐写法中,建议使用int main,因为在有的编译器虽然viod main可以通过编译,但在其他编译器就会报错。为了**拥有更好的可移植性,一般写int main。

**示例

#includeintmain(void)

上述的**中为int main,返回了一个0,数据类型为int。

数据类型

void:声明函数无返回值或无参数,声明无类型指针,显示丢弃运算结果。(c89标准新增)

char:字符型类型数据,属于整型数据的一种。(k&r时期引入)

int:整型数据,表示范围通常为编译器指定的内存字节长。(k&r时期引入)

float:单精度浮点型数据,属于浮点数据的一种。(k&r时期引入)

double:双精度浮点型数据,属于浮点数据的一种。(k&r时期引入)

2楼:匿名用户

void main 和 int main的区别就是有无返回值。

在int main 可以出现非 int 类型的东西。在写**时,一个函数要么有返回值,要么没有返回值没有返回值就用void来表示。 main函数同样的,在没有返回值时加个void 。

有的编译器必须main要有返回值 int , 那就写成int main 。

至于什么时候需要哪种写法,不必有这种顾虑,你可以一律都写成 int main ,然后在方法体中 最后加个return 0 ;就行了。

void main 和 int main 在作用上其实没什么区别啊,只是有的严谨的编译器必须要main有int 返回值而已,这两种写法跟自定义的函数没任何关系。

3楼:小莫

void main 和 int main 主要有以下三个方面的区别:

1、void main的返回值为空值(即没有返回值),int main的返回值为整数类型值。

2、void main 可以用 int main代替,但是 int main 不能用 void main代替。

3、有的编译器main必须要有返回值 int , 那就写成int main 。

在使用中可以一律写成 int main,然后在方法体中最后写 return 0; 就行了,这样写基本上所有的编译器都可以通过。

4楼:专拣米粒

1、void main没有返回值,int main有返回值2、void main 可以用 int main代替。

3、有的编译器main必须要有返回值 int , 那就写成int main 。

5楼:匿名用户

返回值类型不同。

标准的c语言要求main函数的返回值为int, 该值是执行程序时,告知主调进程程序运行结果的一个渠道。

可以在命令行运行exe后,通过

echo $?

命令获取上一个可执行程序的运行结果。

不过由于大多数时候,程序的运行结果可以由其它方式判定,比如程序的打印信息,所以main的返回值变得不重要,于是大部分编译器都支持无返回值类型的main,这时默认返回给主调进程0值。

标准的main函数格式为

int main(int argc, char *argv);

即返回值为整型,带两个参数,argc为命令行参数的个数,argv为指针数组,前argc个指针为参数列表,最后一个指针值为null。

6楼:匿名用户

main函数的返回值是用来表示程序的退出状态的,return 0表示无错误,其他的返回值根据系统不同可能代表不同的类型,如果不返回可能会无法检测到错误。

另外一个原因是:如果返回值是返回到栈上的,则程序未返回值的情况下,程序的调用者会从栈上误pop一个值认为是程序的返回值,这样的话就会造成下面的操作错误,因为多pop了一个值。

7楼:澈力木格

void和int表示的是主函数的返回值,void返回的是空值,int返回的是一个整型数值。

用的是int main,在程序结束时必须写上return 0(或者任何一个整数);而用的是void main就不需要return返回语句。

8楼:匿名用户

c语言中用void main()

c++中用int main(),其中

int main()最后必须加return 0;

补充中的不可以,main是主函数,一个程序中只能有一个主函数。void aaa()是一个普通的函数,可以被主函数或者其他普通函数调用

9楼:浪哥

void main表示空的主函数,不需要返回值;

但是int main需要返回一个int型的值。

10楼:徐临祥

那主调函数还.c语言中void main和int main有什么区别,是不是在int main里面不能出现非int类型的的东西阿,...

11楼:匿名用户

在上面这种情况void和int可有可无,对结果不影响,只是为了书写规范。

可以,其他函数也可以

12楼:绍凯文昕月

在dev-c++中必须写成int

main,写成int

main比较规范,返回0则表示程序正常退出。

C语言中与的区别,c语言中“&”与“*”有什么区别?

1楼 匿名用户 是取地址 叫解引用,意思是取地址的内容 举例 int a 3 int b a 这里 表示取a的地址 b就是去b的地址的内容就是3 2楼 诡其辞 s形式表示取变量s的地址 a b形式表示a与b之间进行位与运算。 s形式表示指针变量指向的位置 a b形式 呵呵!不消说了。 3楼 匿名用户...

c语言中与有何区别,c语言中%c与%s的有什么区别?

1楼 匿名用户 在定义变量时 是定义指针 是引用 注 好象c没有引用 例如 int pvar null 定义一个int类型指针int var 0 int pvar var 定义一个引用 并且定义时要指定所引用的对象 在使用时 是解指针 即取其指向的变量的值 是取地址int var 10 int pv...

C语言a b和a b的区别,C语言,++a+b和++b+a有什么区别

1楼 匿名用户 自增对象不同 a b 最后自增的是b a b 最后自增的a b c语言, a b和 b a有什么区别 2楼 珑月三 a b是先a加1,然后再加b b a是先b 1,然后再加a 3楼 亱風 a b是a先自加然后加b b a是b自加,,然后加a 结果一样,但是a 和b的值不相同 c语言b...