执行顺序问题!!!
程序如下:
#include <iostream>
using std::cout;
using std::endl;
double larger(double a,double b);
int main()
{
double a_double=1.5,b_double=2.5;
cout < < "The larger of double values "
< <a_double < < " and " < <b_double < < " is "
< <larger(a_double,b_double) < <endl;
return 0;
}
double larger(double a,double b)
{
cout < < "double larger() called " < <endl;
return a> b?a:b;
}
运行顺序应该是先运行cout < < "The larger of double values "
< <a_double < < " and " < <b_double < < " is "
然后再运行调用程序 < <larger(a_double,b_double) < <endl;
应该是顺序执行嘛!!!
那结果应该是:
The larger of double values 1.5 and 2.5 is double larger() called
2.5
但运行结果却是:
double larger() called
The larger of double values 1.5 and 2.5 is 2.5
请问各位高手这是什么原因呢?
[解决办法]
从右到左运算,从左到右输出.