上图不行是因为b是作为判断条件的如果b没有赋初值可能会得到一个随机数,就会得到一个想不到的结果,而下图x1是一个普通变量它不是作为判断条件的,你可以把x1理解成一个容器,它等待往里面放东西,而在x1=2*(x2+1)这条语句中,x1盛放了东西,所以最后能正确输出结果。
人家说的是要想取值必须先赋值,X1是先赋值后使用,b就不是这样。