main()在C和C++中定义函数的正确(最有效)方法是什么- int main()或void main()- 为什么?如果int main()那么return 1或return 0?
这个问题有很多重复,包括:
main()函数的有效签名是什么?main()函数void main()和int main()?main()在C++中的签名main()? - 对于C++,确实有一个非常好的答案.main()C语言中的函数样式main()C中的方法类型int main()vs void main()在C中有关:
What is the proper signature of the main function in C++? What is the correct return type, and what does it mean to return a value from main? What are the allowed parameter types, and what are their meanings?
这是系统特定的吗?这些规则会随着时间而改变吗?如果我违反它们会发生什么?
如果我写:
int main(int argc, char** argv)
Run Code Online (Sandbox Code Playgroud)
我得到适当的命令行输入.如果我写的话怎么会说,
int main(int foo, double fooDouble, fooType FooVar)
Run Code Online (Sandbox Code Playgroud)
这是依赖于操作系统还是依赖于编译器?
为什么我应该在代码块中使用名称空间和int main而turbo c ++中没有名称空间,我可以使用void main而不返回我在学校学到的任何值.编译器是否不同,C++版本是否不同?
我的同伴告诉我,我实施以下方式是一种危险的做法.我在main方法和函数中为变量添加了相同的名称.我的意思是只要它有效,是不是没问题?你会怎么做不同的?
谢谢.
#include <iostream>
#include <string>
#include <sstream>
#include "Three.h"
Three::Three(void)
{
}
Three::~Three(void)
{
}
void Three::rect (int& ar, int&vl, int len, int wid, int hgt)
{
ar = (len * wid) * 2 + (len+wid) * 2 * hgt;
vl = len * wid * hgt;
cout << "Area is " << ar << " square feet that contains " << vl << " cubic feet." << endl;
}
char qt;
int main (int, char**)
{
int len …Run Code Online (Sandbox Code Playgroud) 好吧,请放轻松.刚学习C++,首先也在这里提问.我已经写了一个程序来列出1000以下的所有阿姆斯特朗数字.虽然我读过关于自恋数字的维基百科文章,但我只是在寻找3位数字.这意味着我只关心数字立方体的总和.
它的工作原理是执行for循环1到1000,使用用户定义的函数检查索引变量是否为非常强大,如果是,则打印它.用户定义的函数只需使用while循环来隔离数字并将多维数据集的总和与原始数字相匹配即可.如果为真,则返回1,否则返回0.
问题是,我在输出中绝对没有数字.只显示void main()中的cout语句,其余为空白.试图尽可能多地调试.编译器是Turbo C++.码-
#include<iostream.h>
#include<conio.h>
int chk_as(int);//check_armstrong
void main()
{
clrscr();
cout<<"All Armstrong numbers below 1000 are:\n";
for(int i=1;i<=1000;i++)
{
if (chk_as(i)==1)
cout<<i<<endl;
}
getch();
}
int chk_as (int n)
{
int dgt;
int sum=0,det=0;//determinant
while (n!=0)
{
dgt=n%10;
n=n/10;
sum+=(dgt*dgt*dgt);
}
if (sum==n)
{det=1;}
else
{det=0;}
return det;
}
Run Code Online (Sandbox Code Playgroud) 主要参数的数量是否有限制?
这是一个完美运行的示例代码......我不知道是否允许它.
int main( char* argv[], int argc, int arv, bool test)
{
cout<<"Hello"<<endl;
}
Run Code Online (Sandbox Code Playgroud)
输出:你好
我在用
GCC-4.1.2_20070115-0.32.53
GCC-C++ - 4.1.2_20070115-0.32.53
libgcc中,4.1.2_20070115-0.32.53
GCC-objc-4.1.2_20070115-0.32.53
c++ ×8
c ×3
c++-faq ×1
codeblocks ×1
command-line ×1
gcc ×1
namespaces ×1
return-type ×1
return-value ×1
turbo-c++ ×1