⑴ c语言中返回函数的作用
Return
就是返回值,可以返回指针
或者其他数据类型,这个根据你被调用这个函数的功能,
例如
main
函数中经常返回0,main函数是系统调用函数,开启一个进程,返回0
表示进程正常终止,其他异常终止
根据函数的类型函数的返回值功能也不同
我觉得主要有一下几类
第一类
:
返回的是状态,如:
main函数
第二类
:
返回运算结果
如:int
fn(int
a+b)
{return
a+b;}
第三类
: 其他
至于函数返回到那里,谁调用这个函数,函数就返回给谁,MAIN函数返回给系统
⑵ c语言函数返回值
这个跟库函数的定义有关。。还有就是编译器的差异。。
有些编译器默认是非0为真,有些非-1为真。。
建议不要使用这么简单粗暴的办法判断。。请使用C提供的标准宏判断。。
在哪里学的。。呃。。自己写代码写多了自然就知道了
⑶ c语言返回值具体是指什么
子函数的返回值,main主函数也是有返回值的,但是一般用不到都忽略掉了,一般来说的返回值就是子函数的返回值。当需要一个函数去处理数据时,如求平方,这时候求平方后的值可以有两种方法表达
1、以值的形式返回给你,即return x,这样就可以利用这个结果了,此时函数名前当然要加返回的数据类型了
2、当不需要对这一结果进一步处理时,直接printf,这样可以直接在终端上显示结果了,这时就没必要去加了,直接VOID
(3)c语言返回扩展阅读
void:声明函数无返回值或无参数,声明无类型指针,显示丢弃运算结果。(C89标准新增)
如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 * 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。
指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。
⑷ c语言返回值怎么理解
子函数的返回值,main主函数也是有返回值的,但是一般用不到都忽略掉了,一般来说的返回值就是子函数的返回值。当需要一个函数去处理数据时,如求平方,这时候求平方后的值可以有两种方法表达,
以值的形式返回给你,即return x,这样就可以利用这个结果了,此时函数名前当然要加返回的数据类型了。
当不需要对这一结果进一步处理时,直接printf,这样可以直接在终端上显示结果了,这时就没必要去加了,直接VOID。
常量与变量
常量其值不可改变,符号常量名通常用大写。
变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。
如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明,它们以ASCII的NULL作为数组的结束。要特别注意的是,中括号内的索引值是从0算起的。
⑸ C语言中返回值
首先,C语言中的函数有两种形式:1)有返回值,2)无返回值。有返回值的函数会把执行的结果(也就是你写这个函数的目的)返回到主函数中。没有返回值的函数主要是为了完成某种任务(其实这是废话,函数的功能就是为了完成某种任务。)而一般没有任何值返回到主函数中(也可以通过在无返回值的函数中操作全局变量来改变主函数中的变量的值)。函数声明的方式是:
Type FunctionName(type argument1,type argument2....type argumentn)
{
//函数体
}
type 可以为任意的C语言中的数据类型。也可以为VOID(即无返回值)。
其次,main函数的前面可以为int也可以为void.因为main函数也是函数(废话)。当这个函数执行完毕之后会返回给系统一个值,0表示正确(常)执行。如果你写void的话,编译调试的时候,编译器会自动像系统返回一个值。
第三,在写C++程序的时候一般写:
int main()
{
....
....
return 0;
}
⑹ 关于c语言返回值
这个是因为你是在自定义函数里面使用形参还是实参的问题,当你传进去的时候是地址的话,并且对地址值进行修改的话,便修改参数的值,此为实参,例如 指针,数组。同理,你若传进去的是一个值,函数里面进行调用的只是这个值,而不与这个值所在地址内容进行更改。
希望这些对你有帮助!
⑺ 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语言 如何返回上一步骤
1、可以用while循环,一个菜单一个while循环,while循环里在套一个while循环;
2、例如:
cout<<"请选择:";cin>>choice;
switch(choice)
{
case'1':
{
while(run1)
{
cout<<"请选择:";cin>>x;
switch(x)
{
case'1':
{
}
break;
case'2':
{
}
break;
case'0'://选择0是级可返回主菜单
{
run1=0;
}
break;
}
}
break;
case'2':
{
}
break;
case'3':
{
}
break;
}
⑼ C语言中返回值是什么意思
可以没有,早期标准没有强制要求main函数的返回值,C99标准开始要求main函数必须返回int型数据