如果i,j均赋值为7 就是正确的。
i=j=7可以理解为i=(j=7),(j=7)的值为7,所以i,j均为7
如果判断i,j是否均为7就不对了。
应该写成 (i==7)&&(j==7)
单一等号是赋值语句:等号右边变量的值赋予左边变量在第一个for之前,i和j都没有定义(之前的int i;int j;只是声明有这个变量,并没有赋值给它们),它们的值都是未知的。
在第一个for的时候,j=1给j赋值,所以能使用了。
第二个for的时候,i=j是用j的值赋予给i,i才能够使用。
要是用j=i的话,意思是用i的值赋予给j,这个时候i的值还没有定义,所以不能使用,于是就出错了。
这么说,明白了不?