当前位置: 代码迷 >> C语言 >> [求助]return语句问题
  详细解决方案

[求助]return语句问题

热度:398   发布时间:2007-07-22 22:59:49.0

你说我敷衍你:

好:我现在就告诉你:

return语句是用来干什么的?

一个函数只能有一个返回值,而return语句就是用来返回这个值的语句

c=max(a,b) 赋值语句是用来干什么的?

max(a,b),它是通过自定义函数,来选取 a 和 b 中的较大者

所以max(a,b)的值就是return的返回值

将这个返回值 给 c赋值

这样c的值就是 a 和 b 中较大者的值


至于第三个问题,你自己好好想想


----------------解决方案--------------------------------------------------------
谢谢福尔摩斯的指导
----------------解决方案--------------------------------------------------------

其实说到底还是概念性问题~~~`


----------------解决方案--------------------------------------------------------

#include <stdio.h>
int max(int x,int y) //接收两个参数
{
int z;
if(x>y)
z=x;
else
z=y;
return z; //返回较大的值

}

void main()
{
int a,b,c;
printf("输入两个数:\n");
scanf("%d%d",&a,&b);
c=max(a,b); //将a和b的值传到子函数进行比较
printf("%d\n",max(c));//在主函数中输出较大的值
}


----------------解决方案--------------------------------------------------------

调用涵数必须要用return语句返回。
esay!


----------------解决方案--------------------------------------------------------
以下是引用dandangui在2007-7-22 9:45:15的发言:

#include <stdio.h>
int max(int x,int y) //这里定义了一个函数,最前面的int 表示本函数的返回值是整型,max是这个函数的名字,后面我们可以通过名字来调用。
//圆括号中有int x,int y ,这是这个函数的参数。书上把它叫形参。不过,我当时在理解这个形参时费了很大劲。我用另一个说法来解释。
//那就是:你可以把它们看成两个变量,用来接受主函数传递过来的参数。
{
int z;
if(x>y) //如果x大于y
z=x; //把x的值交给z
else
z=y; //否则把y的值交给z
return z; //返回z的值(也就是把这个结果返回给主函数,完成它的最后任务)
}

int main(void) //主函数,C中,不管有多少函数,程序总是从main()函数开始执行。
{
int a,b,c;
scanf("%d%d",&a,&b); //scanf表示从键盘上接收两个变量的值。 两个%d%d表示接收的两个数都是十进制数, &a,&b表示接收的值分别交给a和b.(注意,不要忘了取地址符&)
c=max(a,b); //调用前面定义的max函数,并给它传了两个参数,一个是a的值,另一个是b的值。 max完成任务后把结果返回并赋给c
printf("%d\n",c); //打印c的值
return 0 ;
}

主函数里不可以用return的``,你可以把他放到函数里,,,
程序改为
main()
{
int a,b,c;
scanf("%d%d",&a,&b);
c=max(a,b); //函数调用
printf("%d",c);
}

max(int x,int y) //返回值是int型,前面的int可以不写,形参可以随意写,只要是合法的标识符
{
if(x>y)
return x;
else
rerutn y;
}


主函数怎么不可以用return了?要不然为什么main前面要加个int?不过这个返回值是返回给系统的,也就是说,如果执行到了return 0;这个语句,就基本上表示程序是执行成功的。
return语句还有一个作用,那就是结束函数。
比如
max(int x,int y) //返回值是int型,前面的int可以不写,形参可以随意写,只要是合法的标识符
{
if(x>y)
return x;
else
rerutn y;
//在这里加上printf("我操!");如果你只看运行结果的话,根本不知道我骂过你。
}
一旦执行return x; 或者rerutn y;被调函数的运行就结束了。


[此贴子已经被作者于2007-7-26 16:14:08编辑过]


----------------解决方案--------------------------------------------------------
以下是引用mrtao在2007-7-26 14:53:14的发言:

调用涵数必须要用return语句返回。
esay!

怎么可能呢?
函数是怎么定义的?函数为什么那样定义你知不知道?


----------------解决方案--------------------------------------------------------
以下是引用wang__在2007-7-26 2:36:26的发言:

#include <stdio.h>
int max(int x,int y) //接收两个参数
{
int z;
if(x>y)
z=x;
else
z=y;
return z; //返回较大的值

}

void main()
{
int a,b,c;
printf("输入两个数:\n");
scanf("%d%d",&a,&b);
c=max(a,b); //将a和b的值传到子函数进行比较(并且将比较的结果赋予c)
printf("%d\n",max(c));//在主函数中输出较大的值
}


----------------解决方案--------------------------------------------------------

建议楼主看看教材!


----------------解决方案--------------------------------------------------------
把简单的再简单化,有挑战
----------------解决方案--------------------------------------------------------
  相关解决方案