您的位置 首页 java

C语言-在被调用函数中赋值

①源程序

# include <stdio.h>

/*定义函数(被调用函数)*/

void sub(int x,int y,int *z)

/*不需要返回值,加viod*/

{*z=y-x;}

/*主函数(调用函数)*/

main()

{

int a,b,c;

sub(10,5,&a);

/*&a本身没有值,在被调用函数sub中被赋值*/

sub(7,a,&b);

/*&b本身没有值,在被调用函数sub中被赋值*/

sub(a,b,&c);

/*&c本身没有值,在被调用函数sub中被赋值*/

printf (“%d,%d,%dn”,a,b,c);

}

~

②计算过程

sub(10,5,&a)

实参赋值形参

x=10,y=5,*z=&a

形参 公式计算

*z=y-x=5-10=-5

即a=-5

函数没有返回值,

不求sub的值,只求 a即可。

此处转化过程为

int*z=&a

即int*(z=&a)

即z=&a

即*z=*&a=a=-5

*和&可以抵消

sub(7,a,&b)

实参赋值形参

x=7,y=a=-5,*z=&b

用形参公式计算

*z=y-x=-5-7=-12

即b=-12

sub(a,b,&c)

实参赋值形参

x=a=-5,y=b=-12,*z=&c

用形参公式计算

*z=y-x=-12-(-5)=-7

即c=-7

最后输出

a=-5,b=-12,c=-7

文章来源:智云一二三科技

文章标题:C语言-在被调用函数中赋值

文章地址:https://www.zhihuclub.com/178281.shtml

关于作者: 智云科技

热门文章

网站地图