これらのコードを実行しましたが、非常に奇妙な番号が表示されました。私はc ++が初めてです
ii) 次のコード スニペットの出力を予測します。
a)
int x=75, y=105;
printf(" %c %lf " , x,y);
最初に取得した x は K に等しいです。これは理解できますが、y については 0 を取得しました。これは、double ではなく int として宣言されているためですか?
b)
float pH=5.65582;
printf (" %d %lf" , pH,pH);
今、これはとても奇妙です。最初の pH は 1073741824 です。どうやってそれを取得したのかさえわかりません。そして 2 番目の 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) 非常に長い数
59189049645043374000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000
私は何を間違っていますか?