这个8应该是未初始化的结果,c语言没有要求必须初始化(具体怎么处理看编译器的配置了),它在不同环境上跑的结果可能不一样。例如
上面那个才是debug单歩的输出
b没有初始化,所以系统会随便赋一个值给b,就像指针一样,不初始化指针的时候,系统就会让这个指针随便乱指,让它成为危险的野指针。所以,变量一定要先初始化,再做操作以上代码可以改成int a=1,b=0;printf("%d\n%d\n",a,b);