为了账号安全,请及时绑定邮箱和手机立即绑定

请问为什么第六行不能写return 0;?,return到底有什么用?

请问为什么第六行不能写return 0;?,return到底有什么用?

C
梅缘绽放 2017-01-25 13:02:27
#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; }
查看完整回答
反对 回复 2017-01-25
  • 3 回答
  • 0 关注
  • 2497 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信