c语言函数返回值存储 C语言中函数的返回值

C语言中函数调用完的返回值储存在哪里?

还是拿楼上的那个例子

创新互联专注于嘉荫企业网站建设,响应式网站开发,电子商务商城网站建设。嘉荫网站建设公司,为嘉荫等地区提供建站服务。全流程按需开发,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

int

add(int

a,int

b)

{

int

c;

c=a+b;

return

c;

}

函数调用就是在别的函数中调用add这个函数,在函数中填入相对应的量,如在main函数中以add(3,4);调用

返回值:如果函数(如add)前有函数类型(int),这就是返回值类型,其实就是c,简单点说,如果函数里有return后便那个值就是返回值,如果没有return语句,他就返回空,也就可以说没有返回值

c语言中计算结果怎么存储

所有C函数,只要其有返回值,都是由寄存器Ax(对于32位而言为EAX,如果AX不足以容纳,则由DX保存超过AX容量的部分)保存的(也可能是值,也可能是某一地址,视返回类型而定)。

上面这个C函数程序,计算(xy?x:y);后,该值就存在AX(EAX)中,当你在其他函数中调用该函数

后,比如

a=max(m,n);后,其实就是进入max()完成后,函数返时将计算结果存放在AX中,执行这个语句后,即就将AX的值传给了a.

其实,这也很容易验证:

在调用

a=max(m,n);

紧接着输入以下语句(注意:这中间绝对不能有其他任何函数调用和语句):

b=_AX;

printf("a=%d,b=%d",a,b);

你就可能发现,a=和b=一定是同一个值。

c语言中怎样讲一个函数的返回值存入一个结构体中?

写个示例程序供你参考吧:

#include stdio.h

typedef struct Node{

char name[12];

int age;

}NODE;

NODE input()

{

NODE n={0};

scanf("%s%d",n.name,n.age);

return n;

}

int main()

{

NODE node = input();

printf("name:%s\n age:%d\n",node.name,node.age);

return 0;

}

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语言函数返回值存储 C语言中函数的返回值
文章链接:http://bzwzjz.com/article/hjgpeo.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 梓潼网站设计 重庆网站建设 成都网站建设公司 成都品牌网站建设 温江网站设计 移动手机网站制作 网站设计公司 广安网站设计 成都网站建设 成都网站设计公司 成都网站建设 响应式网站设计 企业网站建设公司 网站设计 重庆网站制作 手机网站制作 定制网站制作 网站制作 重庆网站制作 网站建设费用 企业网站设计 成都营销网站建设