我跑這些代碼,但我有一個非常奇怪的數字。我是新的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