while中i首先赋值0,进入while后i++,这个不是先取值后计算吗?这样的话,i还是0呀,printf结果i就是第0遍写了?
等等
我现在的理解是只有在直接打印时会先取值
例如:
int i = 0;
printf("%d",i++) 这个时候i的值是0;
如果是:
printf("#d",++i)值打印出来就是1了。
电脑在读代码时,是从左往右,从上到下;
所以你发的例子里
i++; 计算机读到;号 i的值已经变了。
printf("%d",i++) 这个例子里,计算机在读的时候读到i还没有读到++就取值打印了,
所以才有了 i++是先打印再取值,++i是先取值再打印的说法。
个人理解,不一定对
对啊,他的第0遍相当于第一遍,因为他的i取值是小于10,而小明是被罚抄十次