c++中函数可以嵌套调用吗?
2个回答
展开全部
sqrt函数是做开放运算的,被C++ 封装在math.h这个关于数学函数的头文件里。
要用sqrt函数,可以在开始预编译处理处加上math.h头文件。
例如#include<math.h>。
函数的作用域只是从定义的地方开始的。也就是说,在函数定义行之上,是无法使用该函数的。而把函数的定义都放在主函数之前的话,程序会变得不清楚。所以在使用前只需用一行声明一下就可以。
扩展资料:
如果没有返回值类型名为"void", 整数类型int 类型返回值为整数类型int,以此类推……
类型名有:void int long float int* long* float* ……
C++中函数的调用:函数必须声明后才可以被调用。调用格式为:函数名(实参)
调用时函数名后的小括号中的实参必须和声明函数时的函数括号中的形参个数相同。
有返回值的函数可以进行计算,也可以做为右值进行赋值。
参考资料来源:百度百科-函数
展开全部
可以,但是有的时候不建议,因为可能会出现未定义行为,导致代码在移植时出错。
比如:
char a[10]="123",b[10]="abc";
printf("%s,%s",a,strcpy(a,b));
这段代码是可以正常编译的,但是输出结果可能是“123,abc”,也可能是“abc,abc”。因为printf函数里两个参数值的计算顺序是未定义的:可能先计算a,再计算strcpy(a,b),于是输出“123,abc”;也可能先计算strcpy(a,b),再计算a,于是输出“abc,abc”。计算顺序取决于编译器,因此这样的代码换一个编译器编译就可能出现不同的结果。
比如:
char a[10]="123",b[10]="abc";
printf("%s,%s",a,strcpy(a,b));
这段代码是可以正常编译的,但是输出结果可能是“123,abc”,也可能是“abc,abc”。因为printf函数里两个参数值的计算顺序是未定义的:可能先计算a,再计算strcpy(a,b),于是输出“123,abc”;也可能先计算strcpy(a,b),再计算a,于是输出“abc,abc”。计算顺序取决于编译器,因此这样的代码换一个编译器编译就可能出现不同的结果。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询