我是C ++的初学者,并且对int main();
的使用感到困惑。我在网站上看了一些关于此的线索,但如果有人能够提供我对问题的深入了解,我会很高兴。
对于下面的程序,如果我的输入是23,则输出值是73.4,这不是一个int值,这与我对main()函数的定义应该仅返回int值的事实相反。
我在这里缺少什么?谢谢!
我的计划如下:
#include <iostream>
using namespace std;
int main(){
double Celsius, Farenheit; // defining variables celsius and farenheit
cout << " Input temperatue in celsius and press ENTER" << endl;
cin >> Celsius;
//double Farenheit;
Farenheit = ((Celsius*180)/100) + 32;
cout << "Value in Farenheit is:";
cout << Farenheit <<endl ;
//system("Pause");
return 0;
}
答案 0 :(得分:1)
实际上,程序的输出是73.4
,但输出和返回值是不同的。
程序可以在控制台中写入,实际上任何函数都可以写入控制台。但是函数的返回值与它产生的输出不同。
在您的代码中,main函数的返回值不是73.4
。但这是它在控制台中产生的输出。它的返回值是返回语句之后的内容:
return 0;
是的!那就对了!返回值是返回关键字后的值!
这是一个返回int并向控制台生成输出的函数的另一个例子:
int calculate() {
std::cout << "calculating stuff..." << std::endl;
return 2 * 2 * 4;
}
int main() {
int return_value = calculate();
std::cout << "return value of calculate() is: "
<< return_value << std::endl;
return 0;
}
这会产生输出:
计算东西......
calculate()的返回值是:16
现在也许你想知道为什么从0
返回main
。这通常是为了向操作系统表明程序已成功执行。
答案 1 :(得分:0)
main的返回值的目的是将退出状态返回给操作系统。在标准C中,main的唯一有效签名是:int main(void)和int main(int argc,char ** argv)您正在使用的表单:int main()是一个旧样式声明,表示维护未指定参数数量
解决您的问题。更改数据类型.aa
int celcius,fahrenheit;
或
double celcius; int fahrenheit;
答案 2 :(得分:0)
您对Farenheit
的定义使其成为double
类型的变量,因此它会存储double
类型的值。 int
的{{1}}与此无关。它表示int main()
的返回类型的类型,由于您的程序的最后一行main()
而为0。事实上,您现在可以认为return 0
中的int
完全没用了。
要使程序输出为整数,您应将int main()
定义为Farenheit
int