#3
Emotiona2017-05-19 02:15
for (i=10; i>=0; i--)
for循环共三条语句,一个分号一条
i = 10;赋值 最先执行它。不管条件成立与否都执行,且执行一次
i>=10;这是判断条件(if(i >= 0)) 因为是for不同于if。它要进行循环,循环条件就是成立就循环,不成立就不循环。
成立就执行for循环括号里面的内容, 没括号就执行一句。
i-- 括号内容结束, 就进行i-- 然后继续判断条件成立不,成立继续执行循环体内容,执行i--,成立->循环体, i--。
不承认年公里退出循环。
第一次 i = 10; 10 >= 0? 是执行循环体 i--, i = 9;
第二次 i = 9; 9 >= 0? i--, i = 8;
第三次 i = 8; 8 >= 0? i--, i = 7;
... ... ...
第十一次 i = 0 ; i >= 0; i--, i = -1;
第十二次 i = -1; i >=0 不成立,结束
int main()
{
int i, j, n = 5, k1, k2;
i = j = 0;
while(n-- > 0)
{
i++; //i = i + 1; /*显然这里i和j没啥区别*/
++j; //j = j + 1;
printf("val_i = :%d val_j = %d\n", i, j);
}
k1 = i++; //显然这样是有区别的。最上面是没有变量接收值,在有变量接收值的情况就不同。
k2 = ++j; //前置++是先进行+1(自增)再赋值,后置++是先用当前值再进行(自增)+1
printf("\n%d %d\n", k1, k2);
}