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语言中函数的返回值
本文路径:https://www.cdcxhl.com/article40/hjgpeo.html

成都网站建设公司_创新互联,为您提供网站改版域名注册服务器托管搜索引擎优化做网站网站营销

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站建设