在c语言中,i=j=7;正确吗?

Python014

在c语言中,i=j=7;正确吗?,第1张

语法上没有错误,是否正确要看你的目的是什么。

如果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的值还没有定义,所以不能使用,于是就出错了。

这么说,明白了不?