#include <stdio.h>/* Jone算出结果应该怎么写函数? */ int joneResult(int x, int y, int z){ int sum = x+y+z; return sum/3; //这里是不是应该将sum返回呢?}/* Jack没有算出结果只说了一句话是不是应该用无返回值函数? */ void jackResult(int x, int y, int z){ printf("我算不出来\n");}int main(){ int a, b, c; a = 10; b = 20; c = 30; //Jone的返回值类型是什么? int jR = joneResult(a, b, c); printf("Jone运算结果是:%d\n", jR); printf("Jack运算结果是:"); //Jack没有算出结果只说了句话,是不是直接调用函数就可以了? jackResult(a,b,c); return 0;}
3 回答
已采纳
岂可奈何
TA贡献5条经验 获得超3个赞
return作用:
1:结束该函数体,并返回调用处。如果是主函数,则结束程序。如:
(1)结束函数体,并返回调用处。例子:你可以依次把return前的//给去掉,看一下结果。(注:第一个return会影响第二个return的效果,除非用控制语句分开。)
#include<stdio.h>
void text() {
//return;//直接结束函数返回调用处,不执行下面的
int i=5;//你可以给i改变值来达到效果
if(i<6){
printf("我执行了!\n");
//return;//结束函数体,下面不执行
printf("return有,看我执不执行\n");
}
return;/*一般void最后不写return,因为函数体结束后就回到调用处,所以写return多余,你可以加双斜线注释掉试一试*/
}
int main(){
printf("开始调用函数text\n");
text();
printf("结束调用函数,return不加值直接返回调用处\n");
}
(2)如果是主函数,则结束程序。
你在主函数后面都有return0;这就是原因。
2:return xx带值返回。结束函数体,并把值带回到调用处。如求最大值:
#include<stdio.h>
int max(int a,int b){
if(a>b)
return a;//返回调用处,并把a值传出去
else
return b;//两个return只有一个有用,第一个会影响第二个的传递
printf("这个只是说明return就结束函数体,无法继续执行函数的下面,只是证明一下,不必在意,如果执行了这一句,说明程序出错了");
}
int main(){
int a=4;//可以改变值来看return传值的结果
int s=8;
int d;//最大值
d=max(a,s);//将函数的最大值传给d
printf("最大值是%d",d);
return 0;
}
- 3 回答
- 0 关注
- 2497 浏览
添加回答
举报
0/150
提交
取消