c语言的返回值是什么意思啊?

例如下题 求三个整型参数的最大值函数
int max3(int x1,int x2,int x3)
{int max;
if (x1>x2) max=x1
else max=x2
if(max<x3)max=x3
return(max);
}
前面的我都能看懂,可是到了最后,那个返回是什么意思啊,此时max已经是最大值了啊,再返回max是什么意思呢?还有就是,return和printf一样会在屏幕显示吗?求高手指点!

函数返回值的意思是将函数实现的结果返回给调用者。

按标准来说,C的main函数是需要有返回值的。标准中main函数返回类型是int的,所以需要一个返回值。但是由于历史原因,很多地方可以看到没有返回值的main。

比如直接main()或者说void main() 但是这样一般编译器也不会认为错误,不过建议还是写标准的C的main函数,最好有一个返回值,0表示正常退出。

扩展资料:

需要说明的是:

1、一个C语言源程序可以由一个或多个源文件组成。

2、每个源文件可由一个或多个函数组成。

3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。

4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。

5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。(结构体、联合体、枚举型的声明的“}”后要加“ ;”。)

6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

参考资料来源:百度百科-函数

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-12

返回值 就是通过程序计算之后的到结果,也是函数实现返回最终的结果
函数(方法)一般分为有返回值和无返回值,无返回值实现功能最终不返回结果,有返回值的,最终返回该函数的计算结果。

      扩展资料

    js里面的返回值有三种意思:
第一种情况,也是用得最多的情况,返回值是用于获取函数执行完毕后,获取到我们需要得到的结果;

第二种情况,就是返回空值,用来中止程序的;

第三种情况,用于防止事件冒泡,这种情况多在IE下生效。

返回值就是子函数返回给调用它的上一级函数的一个数值,就是return语句后的值。
比如一个子函数int func()在主函数调用,a=func();
在func()中有一个return b;
则func()返回的值就是这时候变量b的值,并且赋值给主函数中的变量a。

c语言中,有许多情况下需要重复某些语句的计算,就可以把这些语句单独提出来形成子程序,遇到重复的地方调用就可以了;但是有些情况下需要得到子程序运行的一个结果时,就可以通过将子程序设计成带返回值的函数,比如标准的sin函数,它的返回值就是一个double型数据。

在c语言的编程中大部分的函数调用信息是靠返回值来获得的,而这就需要用很多的定义,比如返回-1表示什么意思,-2表示什么意思,-3表示什么意思等等。

而c++中加入了异常的处理,这也算是一种获取信息的方式,但毕竟不是那么友好,大多数情况下,如果返回错误,我们对返回值不是很感兴趣,而是对返回的信息描述感兴趣。只要能简单描述错误的信息就可以了。

如此我们可以用这样一种方式来处理。返回值如果是类类型的如果正确就返回正确值,如果错误就返回null,而在参数中加一个ref string的参数,用来返回错误的描述信息。

如果返回值正确,这个参数就为null。这样一来我们就不用再定义一大堆的返回值信息(而且这此返回值信息还不通用,只能在一个函数中使用)了。而且我们可能只定义一些字符串常量,用来描述各种错误信息即可。

    参考资料来源 :百度百科-返回值

第2个回答  推荐于2017-09-22

函数返回值的意思是将函数实现的结果返回给调用者。如:

int max3(int x1,int x2,int x3) ; 最前面的int是指max3()函数的返回值类型,该函数对三个整数进行比较,返回其中最大的一个数的值。之所以定义成int类型,是因为返回的值是这三个整数中的一个,它们的类型是int。

int max3(int x1,int x2,int x3)
{
int max;
if (x1>x2)
max=x1;
else
max=x2;
//以上,得到x1 x2中的最大值,存到max中
if(max<x3) //如果此时的max小于第三个数,则最大值应该是x3,否则max就是最大值
max=x3;
return max; //将max返回给调用者,这样,调用者才能得到这个最大值
}
void main()
{
    int m=max3( 1,3,5 ); //得到max值,存储到m中
    printf("max=%d\n", m ); //输出max值m
}

如果函数执行完后,不需要有返回结果,则函数要定义成没有返回值,如:

void max2( int x1, int x2 )  //void表示没有返回值  该函数对两个数进行比较,输出其中大的数。
{
    if ( x1 > x2 )
          printf("max=%d\n", x1 );
    else
         printf("max=%d\n", x2 );
}
void main()
{
    max2( 3, 5 );
}

第3个回答  2011-12-09
因为此函数调用是“单向”值传递,也就是实参的值传给形参,形参不会传给实参,max是在此函数当中定义的局部变量,只能在此函数当中使用,得到的最大值,如果不用return返回到调用函数当中,在调用函数当中是得不到此值的。return只有两个功能:1、返回一个值到主调函数中;2、结束此函数。并没有输出功能,不会在屏幕上显示。
第4个回答  2012-04-13
在c中任何函数都有返回值,这个是定下的,主函数也有返回值
返回值分几个方面,逐个说一下
主函数的返回值,这个一般用户用不到,程序执行的时候,系统会根据这个返回值来判断程序的运行结果
不管定义神马类型的返回值,在tc中默认为void型(这个可以省略),可以根据需要自己定义都可以。
vc中好像必须写,要不然编译系统提示出错

子函数的返回值,分两类
void,也就是在不需要子函数返回数值的时候用到。注意的是不需要不代表没有返回值。调用成功返回1,不成功返回0,我好像在哪里看到过这个说法,我不确定
非void型,这个返回值类型根据定义来返回
值得注意的是,在子函数中,只要执行return一定结束子函数,不管后面有多少代码

一些系统自带的函数,如printf,scanf等,最好了解他的返回值
相似回答