重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
i是一个变量,如果这个变量在一个函数内,可以作为函数的返回值。
为罗湖等地区用户提供了全套网页设计制作服务,及罗湖网站建设行业解决方案。主营业务为成都做网站、成都网站设计、罗湖网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
return 是返回一个函数的值。函数内的某个变量可以作为函数的返回值返回。
但是在函数外,直接返回某个不在函数内部的变量是不可以的。
比如在main 中。
main()
{
int i ;
return i;
}
这是不行的。返回的是变量的内存地址。
有 else 是
只有 n == 0 return jcjg;返回jcjg 否则不确定返回何值(实际返回 eax 寄存器的最后一次值)
没有 else 任何时候 return jcjg;总是会返回jcjg。
不过没见过这样用递归的,
像这种简单计算,正常都是用迭代处理,不用递归的;
只有像树一类的复杂的数据结构,和排序或更复杂的算法,才用递归实现.
int jc(int n)
{
if(n != 0)
{
printf("%d-%d\n",jcjg,n);
jcjg = jcjg * n;
//jc(n - 1);改成
return jc(n - 1);看行不行;
}
else
{
return jcjg;
}
}
你说的是函数的返回者吧函数的值是指函数被调用之后,执行函数体中的程序段所取得的并返回给主调函数的值。如调用正弦函数取得正弦值。对函数的值(或称函数返回值)有以下一些说明: 1) 函数的值只能通过return语句返回主调函数。 return 语句的一般形式为: return 表达式;或者为: return (表达式);该语句的功能是计算表达式的值,并返回给主调函数。在函数中允许有多个return语句,但每次调用只能有一个return 语句被执行,因此只能返回一个函数值。 2) 函数值的类型和函数定义中函数的类型应保持一致。如果两者不一致,则以函数类型为准,自动进行类型转换。 3) 如函数值为整型,在函数定义时可以省去类型说明。 4) 不返回函数值的函数,可以明确定义为“空类型”,类型说明符为“void”。如例8.2中函数s并不向主函数返函数值,因此可定义为: void s(int n) { …… } 一旦函数被定义为空类型后,就不能在主调函数中使用被调函数的函数值了。例如,在定义s为空类型后,在主函数中写下述语句 sum=s(n); 就是错误的。为了使程序有良好的可读性并减少出错, 凡不要求返回值的函数都应定义为空类型。
#include stdio.h
//using namespace std;
float x, y, z;
float divide(float a, float b);
int main(void)
{
printf("\nEnter two float numbers: \n");
scanf("%d%d", x, y);
{
z = divide(x, y);
system("pause");
}
return 0;
}
float divide(float a, float b)
{
if(b == 0)
puts("\nThe second number can't be evaluated as 0! ");
//这个情况没有return
else
printf("\nThe value is %f",a/b);
//既然是函数,这应该用形参,(指针另说)
return a/b;
}
形参 实参 搞混了 函数里直接用的全局变量还不是函数的形参 还有 那个 printf("\nThe value is %f",a/b); 应该放到函数里或者在MAIN里加判断决定是否输出,而且divide函数里只有 在Y!=0时才有返回值 这样不对