我跑这些代码,但我有一个非常奇怪的数字。我是新的C++我不明白为什么这些数字出来的方式,他们在c + +
ⅱ)预测的码如下片段的输出:用于第一个我得到X
一个)
int x=75, y=105;
printf(" %c %lf " , x,y);
等于K.此我明白 但是我得到0,是因为它被声明为int而不是double?
B)
float pH=5.65582;
printf (" %d %lf" , pH,pH);
现在这个人是太奇怪了。对于第一个pH值是1073741824.我甚至不知道他们是如何得到它的。第二个pH值是2.怎么样? C)
float p=0.345689;
double q=0.445566778899;
printf ("%d %f %lf" , p*q, p*q, p/q);
printf ("%d %0.5f %9.3f", p+q , p-q, p*(p+q));
p×q个-1713662420
p×q个-0.000000
P/Q -0.000000
P + Q -1561213759
PQ 0
p *(p + q)确实很长的数字
5918904964504337400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000
我做错了什么?
[这](http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html)可能有点相关.... – Recker 2013-03-25 19:21:33
我认为''1073741824''实际上应该是对浮点数“5.65582”的内部表示的直接解释。 – gongzhitaao 2013-03-25 19:22:37
由于'iostream'受到了诽谤,这是'std :: cout'应该用在'printf'上的一个主要例子,至少直到过去出现了简单的学习错误。 – 2013-03-25 19:30:38