c++的输出问题.

来源:百度知道 编辑:UC知道 时间:2024/06/01 17:10:39
#include<iostream.h>
int abs(int x)
{
cout<<"调用函数abs(int)."<<endl;
return x<0 ? -x:x;
}

double abs(double x)
{
cout<<"调用函数abs(double)."<<endl;
return x<0 ? -x:x;
}
void main()
{
cout<<"-20的绝对值为:"<<abs(-20)<<endl;
cout<<"-20.02的绝对值为:"<<abs(-20.02)<<endl;
}

本程序的运行结果为什么先输出"调用函数abs(int).",而不是先输出""-20的绝对值为:"

cout<<"-20的绝对值为:"<<abs(-20)<<endl;
的执行顺序是:
1,运行abs(-20)
2,输出 “-20的绝对值为:” + abs(-20)的返回值

“调用函数abs(int)”是运行abs(-20)时输出的, 所以比“-20的绝对值为:”先输出。

。。。
调用函数的时候:
先输出。。。
再返回。。。

int abs(int x)
{
cout<<"调用函数abs(int)."<<endl;
return x<0 ? -x:x;
}

调用函数了呀..然后运行函数里边的代码::cout<<..再return.

因为调用函数优先级高