理想情况下,我的华氏功能的一些内容应放在主功能中,但想尝试一些东西。我在华氏温度功能中询问用户输入,之后,我在cout
语句后调用了华氏温度功能。我期待着你的体温......"首先显示的字符串然后在继续打印字符串之前询问输入。为什么会这样?
#include <iostream>
using namespace std;
int FahrenheitConv();
int main ()
{
cout << "Your temperature in Fahrenheit is "<< FahrenheitConv();
return 0;
}
int FahrenheitConv()
{
double centigrade;
cout << "What is your temperature in centigrade: ";
cin >> centigrade;
double fahrenheit = (1.8) * (centigrade ) + 32;
return fahrenheit;
}
答案 0 :(得分:3)
根据N4296:
1.9程序执行[intro.execution]
[...]除非另有说明,评估个体经营者的操作数和个体的子表达式 表达式未被排序。 [注意:在执行期间多次计算的表达式中 一个程序,其子表达式的未经测序和不确定的顺序评估不必如此 在不同的评估中持续执行。 - 结束记录] [...]
所以你不能指望任何特定的顺序,除非是特殊情况,例如逻辑运算符和引入序列点的三元运算符。