标题:这个程序的执行过程是怎样的,结果为什么是8.000000?
只看楼主
息衍
Rank: 1
来 自:山东日照
等 级:新手上路
帖 子:13
专家分:0
注 册:2018-1-19
结帖率:100%
已结贴  问题点数:20 回复次数:2 
这个程序的执行过程是怎样的,结果为什么是8.000000?
#include<stdio.h>
void sub(double x, double *y, double *z)
{
    *y = *y - 1.0; *z = *z + x;
}
main()
{
    double a = 2.5, b = 9.0, *pa, *pb;
    pa = &a; pb = &b;
    sub(b - a, pa, pa);
    printf("%f\n", a);
}
搜索更多相关主题的帖子: 执行 过程 结果 double pb 
2018-01-20 16:26
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:20 
相当于:
double x;
x = b - a;
a = a - 1.0;
a = a + x;
printf("%f\n", a);
2018-01-20 16:49
息衍
Rank: 1
来 自:山东日照
等 级:新手上路
帖 子:13
专家分:0
注 册:2018-1-19
得分:0 
回复 2楼 吹水佬
嗯~~
*y其实就是*z,二者都是a
所以a=a-1.0;a=a+x;我知道了  谢谢!

2018-01-20 16:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-484375-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.819297 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved