main函数的返回类型能是double吗?

main函数的返回类型能是double吗?,第1张

可以基本类型返回值

main函数的返回值返回给调用它的shell

比如在vim里,用!调用外部一个命令(对应一个程序),会得到一个shell返回值这里的返回值就是main函数的返回值

返回值只是标记程序结束时的状态,自然可以为其它基本类型

gcc中,如果返回值不是int,会给一个warning

warning:

return

type

of

'main'

is

not

`int'

提示main函数的返回值类型必须为int型。同时要在main函数结束执行前添加诸如return 0,之类的语句。

void main() 是C++语言的话这类型是不标准的,改为int main()即可。

任何时候都可以用int main(),所以建议不用void main(),用C++编译器编译C一般不会有什么问题,因为C++是兼容C的。

总结一下就是,C语言标准允许main函数为void类型,按照C++的标准中main必须是int类型,如果你的软件不兼容c那么就只能写成int main(),兼容的话你也可以写成void main也是没有错误的,c中,main的格式,void main (){undefined。

void main()表示函数无返回值,就是说在程序的结尾处不需要加上return 0。而return是在函数体中,用来返回特定值的。

一个C程序中必须至少有一个函数,而且其中必须有一个并且仅有一个以main为名,这个函数称为主函数,主函数是整个程序的入口。

基本数据类型:

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

2、char:字符型类型数据,属于整型数据的一种。(K&R时期引入)

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

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

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

6、_Bool:布尔型。(C99标准新增)

7、_Complex:复数的基本类型。(C99标准新增)

8、_Imaginary:虚数,与复数基本类型相似,没有实部的纯虚数。(C99标准新增)

9、_Generic:提供重载的接口入口。(C11标准新增)

粗略的角度来讲

A、B都是正确的,

因为,A:main()可以在库函数后面

可以在自定义函数的后面、

可以在自定义函数的前面

B: 的确,系统调用的库函数必须要在main()的前面

准确的来说:A、B都不是很正确,都存在描述性错误、

因为:

首先,main()的位置不是任意的,必须遵守C语言书写的一些基本规范

例如: int a=1;

printf("helle world");

main()

{

printf("%d",a);

}

这样的main()位置就不对

其次,系统调用的库函数必须写在程序的开头

例如:

#include “stdioh”

main()

{

printf("hello world!")

}

最后,main()的位置变化对程序的影响

例如, #include “stdioh”

int a=1;

printf("helle world");

main()

{int b=2;<br/> a=b;<br/> printf("%d",a);<br/> }

与下面的程序是不一样的程序

#include “stdioh”

main()

{int a=1;<br/> printf("helle world");<br/> printf("%d",a);<br/> }

在第一个例子中a=1,是一个全局变量

在第二个例子中,a=1是一个局部变量

导致最后两个程序输出的结果也不一样

回答结束

最后,你问的问题是不是有点简单,有点片面了,该好好学习啊

有空多交流啊

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12184023.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存