main函数的返回类型有啥区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了main函数的返回类型有啥区别相关的知识,希望对你有一定的参考价值。

我试过float main 和void main 和int main 好像都能够编译正确?
他们有什么区别啊

1、void main没有返回值,int main有返回值

2、void main 可以用 int main代替。

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

一个函数的函数名既是该函数的代表,也是一个变量。由于函数名变量通常用来把函数的处理结果数据带回给调用函数,即递归调用。

扩展资料: 

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

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

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

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

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

参考技术A 编译器并没有限制main函数的返回类型,所以可以是任何类型,main函数的返回值是在程序结束后返回给操作系统用来反映程序执行状况的,所以一般用整型,在类unix系统中,0表示程序正常执行,其他值则代表不同的错误本回答被提问者采纳 参考技术B   return返回的数值由程序的作者自定。返回不同的值可以代表不同的含义,一般是代表出错的原因,传统上返回0代表程序正常结束。
main 函数的返回值用于说明程序的退出状态。如果返回 0,则代表程序正常退出,否则代表程序异常退出。
  main 函数的返回值类型必须是 int ,这样返回值才能传递给操作系统。
  main 函数的返回值用于说明程序的退出状态。如果返回 0,则代表程序正常退出,否则代表程序异常退出。
参考技术C 比如说你生成了一个可以计算返回文件名的可执行文件在D盘根目录下(wjm.exe),那么在命令窗口中输入: D:\wjm.exe D:\123.txt
那么就可以在命令窗口中看到: 123.txt
参考技术D 在纯C的编译环境中一般会使用void main,也即标准的C要求main函数是没有返回值的,而在C++中一般使用int main,C++要求main函数要有返回值,这也是标准C和C++main函数区别之一,即标准C++中要求使用int作为函数返回值;
如果你在VC++环境下编译,以上的分别是看不出来的,因为其支持以上的两种方式;但是如果找一个标准的C环境的话,就不一定通的过编译了!一般不必分的很清楚,只是到了不同的环境时才会显现的出来!

将 : 和 => 用于 TypeScript 函数的返回类型有啥区别?

【中文标题】将 : 和 => 用于 TypeScript 函数的返回类型有啥区别?【英文标题】:What is the difference between using : and => for the return type with a TypeScript function?将 : 和 => 用于 TypeScript 函数的返回类型有什么区别? 【发布时间】:2012-10-21 19:11:53 【问题描述】:

我有以下代码:

///<reference path="../typescript/jquery.d.ts" />
function addThemePrototypes() 
    var templateSetup = new Array();
    $.fn.addTemplateSetup = function(func, prioritary)
    
        if (prioritary)
        
            templateSetup.unshift(func);
        
        else
        
            templateSetup.push(func);
        
    ;

谁能告诉我为什么要用 => void 声明它?

interface JQuery 
    addTemplateSetup: (func: Function, priority: bool) =>void;

我想我对如何从 javascript 函数执行 returntype 有点困惑。有时候我 请参阅:jQuery,现在我正在查看 => void。两者有什么区别?

【问题讨论】:

【参考方案1】:

在您的示例中,它们都使用冒号声明...

让我们把它分成两半!

没有类型声明...

interface JQuery 
    addTemplateSetup

类型声明...

: (func: Function, priority: bool) =>void;

如果您使用单词is 代替:,就像在说

名为“addTemplateSetUp”的属性:一个接受两个特定类型参数但不返回值的函数

这是一个示例,其中两个接口实际上是相同的,但一个使用=&gt;,一个不使用。 TypeScript 对两者的处理方式相同,因此这确实取决于开发人员的偏好。

interface JQuery 
    addTemplateSetup: (func: Function, priority: bool) =>void;


interface Identical 
    addTemplateSetup(func: Function, priority: bool): void;


class ImplementsEither implements JQuery 
    addTemplateSetup (func: Function, priority: bool) : void 

    

如果您喜欢几乎用英文阅读,可以使用=&gt; 样式声明。

如果您希望界面看起来更像实现,您可以使用第二种样式。

【讨论】:

【参考方案2】:

这是关于函数返回什么的信息。它是返回一个 jQuery 对象(带有 JQuery 接口)还是一个不返回任何内容的 void 函数?

$("#someId").addTemplateSetup();

在您的示例中,您没有返回任何内容,因此“void”是正确的。但是,如果您在 javascript 函数中返回“this”,这很常见,为了保持 jQuery 可链接性,您应该声明它返回 => JQuery;

$("#someId").addTemplateSetup().Show();

【讨论】:

但有时我看到返回为“:jQuery”与“=> jQuery”不同 是的,我认为它只是写同一件事的两种方式,我更喜欢 addTemplateSetup:()=>JQuery,因为这就是智能感知在悬停时写的内容,但查看 MS 定义文件,它们似乎更喜欢 addTemplateSetup():JQuery

以上是关于main函数的返回类型有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

c语言exit和return有啥区别

请问C++中如果需要中途退出程序,exit(1)和exit(0)以及return有啥区别呢? 谢谢!

void main(), int main() 和int main(void)的区别

python中的“main()”和“main(_)”有啥区别?

请教高手,C语言中,把变量定义在主函数之外和定义在主函数之内有啥区别?

C--int main 和void main的区别