📜  main()在C和C++中返回什么?

📅  最后修改于: 2021-05-26 02:52:58             🧑  作者: Mango

C

根据编码标准,一个好的返回程序必须以0退出主函数。尽管我们在C语言中使用void main() ,但我们并未假定要编写任何类型的return语句,但这并不意味着C代码不需要0作为退出代码。让我们看一个示例,以清除我们对代码中是否需要return 0语句的思考。

范例1:

#include 
  
void main()
{
  
    // This code will run properly
    // but in the end,
    // it will demand an exit code.
    printf("It works fine");
}
输出:
It works fine

运行时错误:

NZEC

正如我们在输出中看到的那样,编译器会抛出运行时错误NZEC ,这意味着非零退出代码。这意味着我们的主程序以非零退出代码退出,因此,如果我们想成为一名开发人员,那么我们会想到这些小事情。

C的正确代码:

#include 
  
int main()
{
  
    // This code will run properly
    // but in the end,
    // it will demand an exit code.
    printf("This is correct output");
    return 0;
}
输出:
This is correct output

注意:返回零以外的值将引发相同的运行时错误。因此,请确保我们的代码仅返回0。

范例2:

#include 
  
int main()
{
  
    printf("GeeksforGeeks");
    return "gfg";
}
输出:
It works fine

运行时错误:

NZEC

C的正确代码:

#include 
  
int main()
{
  
    printf("GeeksforGeeks");
    return 0;
}
输出:
GeeksforGeeks

C++

如果是C++的情况下,我们不能用void关键字与我们main()根据编码命名空间的标准,这就是为什么我们只打算与主要函数用C INT关键字只能使用++函数。让我们看一些证明这些陈述合理性的例子。

范例3:

#include 
using namespace std;
  
void main()
{
    cout << "GeeksforGeeks";
}
编译错误:
prog.cpp:4:11: error: '::main' must return 'int'
 void main()
           ^

正确的C++代码:

#include 
using namespace std;
  
int main()
{
    cout << "GeeksforGeeks";
    return 0;
}
输出:
GeeksforGeeks

范例#4:

#include 
using namespace std;
  
char main()
{
    cout << "GeeksforGeeks";
    return "gfg";
}
编译错误:
prog.cpp:4:11: error: '::main' must return 'int'
 char main()
           ^
prog.cpp: In function 'int main()':
prog.cpp:7:9: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
  return "gfg";
         ^

正确的C++代码:

#include 
using namespace std;
  
int main()
{
    cout << "GeeksforGeeks";
    return 0;
}
输出:
GeeksforGeeks
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”