は、これら二つのプログラムを考えてみましょう:printfはどのように機能しますか?なぜ出力が異なるのですか?
#include <stdio.h>
int main()
{
int z = 6.4;
printf("%d %d", z, 6.4);
return 0;
}
出力が6 -1717986918
です。
#include <stdio.h>
int main()
{
int z = 6.4;
printf("%d %d", 6.4, z);
return 0;
}
出力は-1717986918 1075419545
です。
なぜ出力はそのように異なりますか? z
が最初の場合、z
の値は6
となります。z
は整数ですが、引数を逆にした場合、出力は異なる値になります。それはなぜそれのように振る舞うのですか?
私はこれをC言語と見なしますが、C++としてコンパイルしても同じ結果になると思います。言語タグでより多くの人が見えるかもしれません。 – doctorlove
私はコンパイラの警告を受け取ります。 。しかし、それはコンパイルし、両方の時に2つの6を印刷します。どのコンパイラを使用していますか? –
@JanezKuhar Codeblocks –