#include<stdio.h>
int main(void) {
int a = 123,b,c;
if(a>300) {
b=200;
}
c=4556;
printf("b = %d\n",b);
return 0;
}
これで、ブロックが false と評価されるかのように if ブロックが実行されるべきではありませんが、コードは b の値を 0 として出力します。 b. b が最初のケースでもガベージ値を示さなければならないことを知っている限り、なぜこれがこのように起こっているのか誰にも教えてもらえますか。