问题描述:
我举些例子,
int i=5;
a=i++ * 6
结果a=30,i=6
这个我懂,先让变量带原值运算,再进行自增。
如果for(i=0,j=0; j<4; i++,i=....,j=.....)这种句式中是直接i=i+1,还是也是先让变量带原值运算,再进行自增????????
经程序证明,i++和后面两个是不能互换的位置的。。。。。。。。。。
问题解答:
这种for语句是循环语句
在实例中先判断for语句中的j<4,假如成立,则执行for下面的语句,然后i自增1
然后再运行for语句,这时候i=1,j=1
这时i和j不管是先让变量带原址运算再自增还是先自增在带值运算没有什么前后关系,除非for后面的语句中的程序中涉及i和j的语句
先自增,再带原值运算。
后置++遇到,或其他语句结束符就会执行自增,所以是i先自增,然后i再赋值
带原值运算,一次以后自增。
i先是自增,然后你好像又给i重新赋值,之后i就等于你给它的那个值了.