#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;
}
现在好像块评估为假,所以 if 块不应该被执行,但是代码将 b 的值打印为 0。此外,如果在 if 块结束后没有分配 c 的值,那么代码会显示一些垃圾值湾。谁能告诉我为什么会这样,据我所知 b 也必须为第一种情况显示一些垃圾值。