c语言while表达式里的赋值语句是怎么理解

若有: int i=0; while(i=10){ i++; } 则循环条件表达式为真,死循环 这里它表达式里面是重新赋值了,但是这样我理解不来它这个程序段是怎么一个原理

i=10这个赋值表达式是有值的,你可以bool n = (i=10); 这个n是为真的。

所以你的while语句判断一直是true,所以是死循环。

 

要判断值用 ==