首页 新闻 会员 周边 捐助

double赋值、计算

0
悬赏园豆:30 [已解决问题] 解决于 2020-05-04 18:17
double b2;
 b2 = y2 - y3;
 y2 - y3的值是 -300,为什么赋值给b2后成了0??
double B;
B = (y2 - y3) / (x2 - x3) * (x12 - x3) + y3;
加号之前的值是 -0.375,加号之后的值是5600;
为什么等号右侧的结果是5600??赋值给等号右侧的B后值为NaN??
清风配酒的主页 清风配酒 | 初学一级 | 园豆:21
提问于:2020-05-04 11:07

如果可以,建议把全部的代码贴出来,单看部分代码无法理解问题出在哪

Conan-jine 4年前

谢谢朋友们,找到错误了,我把他们放到else中了,但是else是没有执行的部分

清风配酒 4年前
< >
分享
最佳答案
0

单单从代码片段我的推断是,如果y2,y3的数据类型没错,那就有可能是输出语句的问题,
C语言的话,注意无符号整型和printf中何时%d,%lf的区别

还是非常建议贴出整个代码

收获园豆:15
Conan-jine | 小虾三级 |园豆:1272 | 2020-05-04 13:02

是c#,就是调试的时候,把鼠标放在式子上就可以看出来

清风配酒 | 园豆:21 (初学一级) | 2020-05-04 13:09

@清风配酒: emmm,我没学C#,少侠,告辞了,如果你学过C的话,
我觉得下面的代码可能有帮助(我猜的,学的还是太少了)

 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     double b2;
 6     b2=-300;
 7     printf("%u \n",b2);
 8     
 9     double b;
10     int x1,x2;
11     x1=-0.375;
12     x2=5600;
13     b=x1+x2;
14     printf("%lf",b);
15     return 0;
16 }
Conan-jine | 园豆:1272 (小虾三级) | 2020-05-04 13:12

@Conan-jine: 谢谢,看代码还是要看全点

清风配酒 | 园豆:21 (初学一级) | 2020-05-04 18:16
其他回答(1)
0

这个问题很可能和数据的类型有关,你仔细检查一下 y2和 y3的数据类型

收获园豆:15
悟行 | 园豆:12559 (专家六级) | 2020-05-04 11:19

都是double 类型啊

支持(0) 反对(0) 清风配酒 | 园豆:21 (初学一级) | 2020-05-04 12:37

@清风配酒: vs 右键清理项目,重启vs,再看看

支持(0) 反对(0) 悟行 | 园豆:12559 (专家六级) | 2020-05-04 13:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册