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??
单单从代码片段我的推断是,如果y2,y3的数据类型没错,那就有可能是输出语句的问题,
C语言的话,注意无符号整型和printf中何时%d,%lf的区别
还是非常建议贴出整个代码
是c#,就是调试的时候,把鼠标放在式子上就可以看出来
@清风配酒: 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: 谢谢,看代码还是要看全点
这个问题很可能和数据的类型有关,你仔细检查一下 y2和 y3的数据类型
都是double 类型啊
@清风配酒: vs 右键清理项目,重启vs,再看看
如果可以,建议把全部的代码贴出来,单看部分代码无法理解问题出在哪
– Conan-jine 4年前谢谢朋友们,找到错误了,我把他们放到else中了,但是else是没有执行的部分
– 清风配酒 4年前