0
union test
という宣言を含めると、以下のコードのfor
ループが実行されないのはなぜですか?私はclangコンパイラを使用しています。共用体が宣言されているとループが表示されない
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
union test{
int intv;
float floatv;
};
int main(){
union test test1; // When this is removed the below loop displays.
for(int i, j = 0; i < 5; i++, j = (j + i) * 2){
printf("%d %d\n", i, j);
}
return 0;
}
'i'は初期化されていません – yano
オススメとして閉じるように投票しています。 – HolyBlackCat
私はそれをtypoと呼んでいません。クレブランとヤノは正しいです。その未定義の振る舞い。私は他の言語のように、両方の変数がゼロで初期化されないことを認識していませんでした。 – AppTest