Ⅰ c语言返回值函数用法
参数和返回值是两码事,不要当成一个词。无参无返回值函数 void faction() { } //前面的void就是返回值的类型 ‘void’是空的意思,就是说返回值是空,也就是无返回值的意思有参无返回值函数 void faction(int i){ } //参数为整形的函数,且也是无返回值的。无参有返回值函数 int faction(){ } //返回值为int 型的函数,且是无参的。有参有返回值函数 char faction(int i) //返回值为char的函数,且参数是int 型
Ⅱ 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,那么可以使用引用类型:
/*法一:使用引用*/
#include<stdio.h>
voidcal(int&ch,int&cl);/*声明ch,cl为引用类型*/
voidmain()
{
inth=0,l=0;
cal(h,l);/*这里将h,l传入cal()*/
printf("%d,%d",h,l);
}
voidcal(int&ch,int&cl)
{
scanf("%d%d",&ch,&cl);/*这里为ch,cl赋值*/
}
TC2.0中好像不支持引用类型。我没测试。
-------------------------
如果是TC2.0,那么可以使用指针:
/*法二:使用指针*/
#include<stdio.h>
voidcal(int*ph,int*pl);/*这里将ph,pl声明为指针*/
voidmain()
{
inth=0,l=0;
cal(&h,&l);/*将变量h,l地址传过去。*/
printf("%d,%d",h,l);
}
voidcal(int*ph,int*pl)
{
scanf("%d%d",ph,pl);/*为ph,pl赋值*/
}
------------------
以上两种方法都可以解决你说的问题。
有问题请追问。
Ⅲ c语言中,函数返回值怎么用
return后接一个值。
在调用这个函数的函数里面,调用它的时候希望获得一个值,如果不希望获得这个值的时候,用void声明就好。如果需要,比如说需要得到一个整形值
就声明
int func()
在调用它的比如main里面
func()的作用就可以相当于一个int型常数
比如外面定义了
int max(int a,int b)
{
return a>b?a:b;
}
主函数里面是
main()
{
int A;
A=max(1,2);
}
这时候就是通过max计算 1>2 则return 一个1 ,1<2 则return一个2。很明显1<2 所以这里max(1,2)就会return 一个 2
这时候主函数里的max(1,2)就相当于一个常数 2
A=max(1,2)的作用就相当于A=2
这个意思。
Ⅳ C语言中 关于返回值 谁能具体讲一下
你这个问题很笼统
我就大概说下返回值的东东吧
在C语言里面所谓返回值是说一个函数当他执行到return的时候他会停止执行下面的语句向引用他的地方传递一个值
下面举例子说明
int
pp(void
)
//那个int就代表返回值的类型
{
……
return
0;
//这个就代表给执行pp这个函数的地方返回int类型的0
}
如果在主函数中有一句a=pp();那么等号右边就等于int
类型的0
,如果a是int类型那么a就等于0
return后面还可以接表达式
int
kk(int
a,int
c)
{
return
a+c;
//这个就代表给执行pp这个函数的地方返回a+c的结果
}
如果调用的地方写int
k;
k=kk(3,4);那么结果就是k等于7
当然返回值类型不是只有int
还可以有char
float那些和结构体类型
如果你不需要返回的时候可以写void
kk(void){}这样就不会返回了
但是如果你是写
kk(void){}没有前面的void默认是给你在前面补上int的而不是无返回值
还有什么问题你再追问吧
Ⅳ C语言中函数调用怎么返回两个值
在C语言中,函数只能返回一个值,要返回两个值,可以改换思路,通过其它方式做到。
1 建立数组,返回指针。
在要返回的两个值类型相同时,可以用创建数组的方式,将要返回的值存在数组中,并返回数组首地址,这样就可以实现返回两个值的效果。
需要注意的是,要返回数组首地址,那么返回的值不可以是局部变量,有如下几种是可以的:
a) 使用静态局部变量存储,并返回地址;
b) 使用全局变量存储,返回地址;
c) 函数中动态分配内存,并返回申请到的地址,此种方法需要注意,在使用后需要释放;
d) 在参数中传入数组地址,并返回。即返回的实际上是主调函数中的变量地址。
2 建立结构体,返回结构体变量。
将需要返回的值,写成结构体形式,并返回结构体变量,这样可以实现一个返回值中含有多组数据。
3 当数据规模较小时,可以采用将小规模数据合并为大规模数据的方式,进行返回。
比如,需要返回两个char型数据时,可以通过返回一个short数据,高地位分别存储各自的值。
除以上方法外,还可以不使用返回值的方式,而是通过函数参数传值,或者全局变量传值等方式,将要返回的值回传给主调函数。
Ⅵ C语言子程序的返回值如何调用
是的,直接用变量接收返回值就可以了。注意定义的变量类型与返回值类型一致即可。
Ⅶ C语言 函数返回值是什么
函数的值(或称函数返回值)是指函数被调用之后,执行函数体中的程序段所取得的值,可以通过return语句返回。
return语句的一般形式为:
return 表达式;
或者:
return (表达式);
例如:
return max;
return a+b;
return (100+200);
函数中可以有多个 return 语句,但每次调用只能有一个return 语句被执行,所以只有一个返回值。
一旦遇到 return 语句,不管后面有没有代码,函数立即运行结束,将值返回。例如:
int func(){
int a=100, b=200, c;
return a+b;
return a*b;
return b/a;
}
返回值始终 a+b 的值,也就是300。
没有返回值的函数为空类型,用void进行说明。例如:
void func(){
printf("Hello world!\n");
}
一旦函数的返回值类型被定义为 void,就不能再接收它的值了。例如,下面的语句是错误的:
int a = func();
为了使程序有良好的可读性并减少出错, 凡不要求返回值的函数都应定义为空类型。
Ⅷ c语言中调用函数的返回值,如果是数组,主函数要输出这个数组怎么实现啊
用指针,另外保存数据的变量退出函数时不得消失。
例如:
#include<stdio.h>
int * fun(int n)
{
int i;
static int a[100]; // 这里用static
for (i=0;i<n;i++) a[i]=i;
return &a[0];
}
void main()
{
int i,n=5;
int *p; // 声明指针
p = fun(n); // 返回指针
for (i=0;i<n;i++) printf("%d ",p[i]); // 把 p 看成数组来输出
}
得 0 1 2 3 4
(8)c语言调用返回值怎么写扩展阅读:
注意事项
1、数组的维度必须是一个常量表达式
int main(void)
{
constexpr int i = 20;
int j = 5;//不是常量表达式
int arr1[i];//正确
int arr2[j];//错误
system("pause");
return 0;
}
2、默认情况下,数组的元素被默认初始化。
而且需要注意的是,和内置类型的变量一样,如果在函数内部定义了某种内置类型的数组,那么默认初始化会令数组有未定义的值。
Ⅸ c语言中,函数返回值怎么用
return后接一个值。 在调用这个函数的函数里面,调用它的时候希望获得一个值,如果不希望获得这个值的时候,用void声明就好。如果需要,比如说需要得到一个整形值 就声明 int func() 在调用它的比如main里面 func()的作用就可以相当于一个int型常数 比如外面定义了 int max(int a,int b) { return a>b?a:b; } 主函数里面是 main() { int A; A=max(1,2); } 这时候就是通过max计算 1>2 则return 一个1 ,1<2 则return一个2。很明显1<2 所以这里max(1,2)就会return 一个 2 这时候主函数里的max(1,2)就相当于一个常数 2 A=max(1,2)的作用就相当于A=2 这个意思。
Ⅹ c语言的函数返回值
所谓返回值,就是人们想要知道函数或者程序所得到 的结果而设计的函数或者程序结束时给出一个值。比如:我们编写一个加法函数,肯定想知道加完过后的结果是什么,那么我们就指定这个结果为该加法程序的返回值。
关于返回值的返回:
1、函数调用语句本身代表其返回值:例如:fun(a);那么“fun(a)”就是这个返回值。
2、可以把返回值存到对应类型的变量之中。例如:int a=fun(b);
3、返回值是多种多样的,可以是各种各样的,int short char double 等等,还可以是指针或者结构体。在数据结构的二叉树部分,某一个函数的返回值是一个带有两个指针的结构体。