
关于C++函数调用的问题(新手问题)
下面这个程序是求绝对值的一个函数。#include"iostream.h"intabs(inta);//当参数为整型数据时的函数原型floatabs(floata);//...
下面这个程序是求绝对值的一个函数。
#include "iostream.h"
int abs(int a);//当参数为整型数据时的函数原型
float abs(float a);//当参数为浮点型数据时的函数原型
double abs(double a);//当参数为双精度型数据时的函数原型
int main()
{
int a=-5,b=3;
float c=-2.4f,d=8.4f;
double e=-3e-9,f=3e6;
cout <<"a=" <<abs(a) <<endl <<"b=" <<abs(b) <<endl;//输出函数返回的结果
cout <<"c=" <<abs(c) <<endl <<"d=" <<abs(d) <<endl;
cout <<"e=" <<abs(e) <<endl <<"f=" <<abs(f) <<endl;
return 0;
}
int abs(int a)//函数定义
{
cout <<"int abs" <<endl;//显示运行了哪个函数
return (a>=0?a:-a);//如果a大于等于零则返回a,否则返回-a。
}
float abs(float a)
{
cout <<"float abs" <<endl;
return (a>=0?a:-a);
}
double abs(double a)
{
cout <<"double abs" <<endl;
return (a>=0?a:-a);
}
运行结果是
int abs
int abs
a=5
b=3
float abs
float abs
c=2.4
d=8.4
double abs
double abs
e=3e-009
f=3e+006
我想知道为什么函数中输出的“int abs ”“float abs”“double abs”在“a=”“b=”。。。之前,因为在主函数里面是先让输出“a=”,“b=”。。再调用的函数啊?
谢谢各位啦 展开
#include "iostream.h"
int abs(int a);//当参数为整型数据时的函数原型
float abs(float a);//当参数为浮点型数据时的函数原型
double abs(double a);//当参数为双精度型数据时的函数原型
int main()
{
int a=-5,b=3;
float c=-2.4f,d=8.4f;
double e=-3e-9,f=3e6;
cout <<"a=" <<abs(a) <<endl <<"b=" <<abs(b) <<endl;//输出函数返回的结果
cout <<"c=" <<abs(c) <<endl <<"d=" <<abs(d) <<endl;
cout <<"e=" <<abs(e) <<endl <<"f=" <<abs(f) <<endl;
return 0;
}
int abs(int a)//函数定义
{
cout <<"int abs" <<endl;//显示运行了哪个函数
return (a>=0?a:-a);//如果a大于等于零则返回a,否则返回-a。
}
float abs(float a)
{
cout <<"float abs" <<endl;
return (a>=0?a:-a);
}
double abs(double a)
{
cout <<"double abs" <<endl;
return (a>=0?a:-a);
}
运行结果是
int abs
int abs
a=5
b=3
float abs
float abs
c=2.4
d=8.4
double abs
double abs
e=3e-009
f=3e+006
我想知道为什么函数中输出的“int abs ”“float abs”“double abs”在“a=”“b=”。。。之前,因为在主函数里面是先让输出“a=”,“b=”。。再调用的函数啊?
谢谢各位啦 展开
1个回答
展开全部
输入输出流说到底也是一种函数,而通常编译器在处理函数参数时,是先计算出参数的具体值,然后再压入堆栈的,对应你所给出的情况:
cout <<"a=" <<abs(a) <<endl <<"b=" <<abs(b) <<endl;
先计算出abs(a)和abs(b)的值,然后再运行cout,一个很好的理解函数参数进栈的例子。
cout <<"a=" <<abs(a) <<endl <<"b=" <<abs(b) <<endl;
先计算出abs(a)和abs(b)的值,然后再运行cout,一个很好的理解函数参数进栈的例子。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询