c语言中函数如何返回对错 c语音函数返回值

c语言中,函数返回值怎么用?return后接一个值 。
在调用这个函数c语言中函数如何返回对错的函数里面 , 调用它c语言中函数如何返回对错的时候希望获得一个值,如果不希望获得这个值的时候,用void声明就好 。如果需要,比如说需要得到一个整形值
就声明
int func()
在调用它的比如main里面
func()的作用就可以相当于一个int型常数
比如外面定义c语言中函数如何返回对错了
int max(int a,int b)
{
return ab?a:b;
}
主函数里面是
main()
{
int A;
A=max(1,2);
}
这时候就是通过max计算 12 则return 一个1 ,12 则return一个2 。很明显12 所以这里max(1,2)就会return 一个 2
这时候主函数里的max(1,2)就相当于一个常数 2
A=max(1,2)的作用就相当于A=2
这个意思 。
c语言 , 返回函数的三种方法,请解释明白点,有例子更好了?函数参数和
返回值
三种传递方式:值传递、指针传递和引用传递
引用与指针的比较
引用是
C中的概念,初学者容易把引用和指针混淆一起 。一下程序中,n
是m
的一个引用(
reference
) , m
是被引用物(referent) 。
int
m;
int
n
=
m;
n
相当于m
的别名(绰号),对n
的任何操作就是对m
的操作 。所以n
既不是m
的拷贝,也不是指向m
的指针,其实n
就是m
它自己 。
C语言
中,函数的参数和返回值的传递方式有三种:值传递、指针传递和引用传递 。
以下是“值传递”的示例程序 。由于Func1
函数体内的x

外部变量
n
的一份拷贝 , 改变x
的值不会影响n,
所以n
的值仍然是0 。
void
Func1(int
x)
{
x
=
x
10;
}
int
n
=
0;
Func1(n);
cout
“n
=

n
endl;
//
n
=
以下是“指针传递”的示例程序 。由于Func2
函数体内的x
是指向外部变量n
的指针,改变该指针的内容将导致n的值改变,所以n
的值成为10 。
void
Func2(int
*x)
{
(*
x)
=
(*
x)
10;
}
int
n
=
0;
Func2(n);
cout
“n
=

n
endl;
//
n
=
10
以下是“引用传递”的示例程序 。由于Func3
函数体内的x
是外部变量n
的引用,x
和n
是同一个东西 , 改变x
等于改变n,所以n
的值成为10 。
void
Func3(int
x)
{
x
=
x
10;
}
int
n
=
0;
Func3(n);
cout
“n
=

n
endl;
//
n
=
10
对比上述三个示例程序 , 会发现“引用传递”的性质象“指针传递”,而书写方式象“值传递” 。实际上“引用”可以做的任何事情“指针”也都能够做,为什么还要“引用”这东西?
答案是“用适当的工具做恰如其分的工作” 。
C语言中函数返回类型和函数返回值函数c语言中函数如何返回对错的返回值通过return语句来执行c语言中函数如何返回对错,即return后c语言中函数如何返回对错的变量或表达式的值,就为该函数的返回值(c语言中函数如何返回对错你可以根据需要自定义返回什么值),而返回值的类型是指该值你想要得到的类型,比如return
a;(a的类型,你在函数体里定义的是int
a;但根据需要,你要的是一个float型的返回值),于是 , 这样定义一个函数:
float
函数名(参数列表)
{
int
a;
函数体;
……
return
a;
}
这样,返回值a就变成了float型 。
c语言怎么返回值?所谓返回值,就是人们想要知道函数或者程序所得到 的结果而设计的函数或者程序结束时给出一个值 。比如:我们编写一个加法函数 , 肯定想知道加完过后的结果是什么,那么我们就指定这个结果为该加法程序的返回值 。
关于返回值的返回:
1、函数调用语句本身代表其返回值:例如:fun(a);那么“fun(a)”就是这个返回值 。
2、可以把返回值存到对应类型的变量之中 。例如:int a=fun(b);
3、返回值是多种多样的,可以是各种各样的,int short char double 等等,还可以是指针或者结构体 。在数据结构的二叉树部分,某一个函数的返回值是一个带有两个指针的结构体 。
c语言的函数返回值?你可以这么理解,比如我们定义了一个函数fun(),如果这个函数有返回值,那么在调用程序里面(比如主函数)就可以把这个函数当成一个数使用;如果没有返回值,那么通常他就是一个独立的语句存在 。
比如fun函数里面有个return 0;表示返回值是零,那么在调用函数里面就可以存在诸如
a=fun();b=a fun();if(fun()=0{};……这类的语句,表示a=0;b=a 0;if(00){};等等,当然也可能是返回一个变量的值,你个指针的值是一样的 。
如果没有return语句,那么函数没有返回值 , 调用函数里面就不能把他当做一个数值来使用,会出现:
fun();单独成句的语句,在fun()里面可能进行了一些操作,但不需要结果 。
C语言自带的函数通常都有返回值,计算函数返回计算结果 , 操作函数返回操作结果(成功返回1,失败返回0)
C语言如何返回值首先说明一下你的程序的问题与缺陷:
1: return语句 只能返回一个值 , 而不能写成 “return h,l;”
2:你在main()中定义了h,l,而在调用cal()时,又定义了h,l,这两个h,l是完全不同的两组 。即使你为cal()里的h,l赋值,那么返回到main()时,h,l仍然为0.
3:你在cal()里的scanf写的不好 。两个%d之间最好什么都没有,加了逗号 , 可能会在读取时,h,l赋值错误 。(具体请看我下面的程序)
下面是我的解法:
先问一下,你用的是TC2.0还是VC6.0?
如果是VC6.0,那么可以使用引用类型:
/*法一:使用引用*/
#includestdio.h
void cal(intch, intcl);/*声明ch,cl为引用类型*/
void main()
{
int h=0,l=0;
cal(h, l);/*这里将h,l传入cal()*/
printf("%d,%d",h,l);
}
void cal(int ch, int cl)
{
scanf("%d%d",ch,cl);/*这里为ch,cl赋值*/
}
TC2.0中好像不支持引用类型 。我没测试 。
-------------------------
如果是TC2.0,那么可以使用指针:
/*法二:使用指针*/
#includestdio.h
void cal(int *ph, int *pl);/*这里将ph,pl声明为指针*/
void main()
{
int h=0,l=0;
cal(h, l);/*将变量h,l地址传过去 。*/
printf("%d,%d",h,l);
}
void cal(int *ph, int *pl)
{
scanf("%d%d",ph,pl);/*为ph,pl赋值*/
}
------------------
以上两种方法都可以解决你说的问题 。
有问题请追问 。
【c语言中函数如何返回对错 c语音函数返回值】关于c语言中函数如何返回对错和c语音函数返回值的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读