以下のCコードはCでは、なぜこのステートメント - 'i = 5i'がコンパイル& 'i'をゼロに設定するのですか? GCCで
int i = 7;
i = 5i;
printf("%d", i);
そしてprints- 0
correctly-コンパイル。
文i = 5i
は明らかに意味がありません。それではなぜコードはコンパイルエラーをもたらさないのでしょうか?そして、なぜi
が0
になるのですか?
以下のCコードはCでは、なぜこのステートメント - 'i = 5i'がコンパイル& 'i'をゼロに設定するのですか? GCCで
int i = 7;
i = 5i;
printf("%d", i);
そしてprints- 0
correctly-コンパイル。
文i = 5i
は明らかに意味がありません。それではなぜコードはコンパイルエラーをもたらさないのでしょうか?そして、なぜi
が0
になるのですか?
GCC extension for representing the imaginary component of complex numbersです。
-pedantic
と-Werror
:http://ideone.com/PMlZr5でコンパイルすると、コンパイラがエラーを発する。
ここで、「i」は「5i」は* imaginary *として扱われていますか?もしそうなら、なぜ 'i'を' j'で置き換えるのも同じ結果をもたらしますか? –
@MinhasKamal - リンク先のドキュメントページに記載されています; –
ああ!私は 'j'を逃した! –
虚数定数はGCC拡張である – BLUEPIXY