为什么第一行括号后的;没有就是234,有就是5,为什有就算++
因为加了分号,printf就不是for语句的代码块了啊。会一直等for循环结束后才输出i,而这时候i是5.因为i=4的时候,for循环不满足循环条件,然后i++会使得i再加上,就是5.
如果不加分号,那么printf就是for循环的代码块,每循环一次就输出一次,i初始为1,判断i++<4后,i值就变成了2,所以输出从2开始,2<4满足条件后,i++为3,输出3,然后3<4满足条件,i++后为4,输出4。由于4<4不成立,循环结束
在for后面加分号,for就会循环空,也就是啥都不做,只做for里面的循环条件,最后结束循环时i的值是5,所以输出的是5。输出的123实际上是1和2和3,因为没有间隔所以就连一起了
for( );
这就是个残疾的句式,虽然符合语法,但是却蕴含着危险。
写这样的代码,容易被开除。