c语言的赋值语句可以有连续两个等号吗?

问题描述:

c语言的赋值语句可以有连续两个等号吗?

可以的,C语言中赋值表达式的返回值会向左传递.也就是说a=2这个表达式的值为2.这时如果if(2==(a=2))那么if的值为真.也就是说a=b=c=3是合法的.但是a=b+2=9是不行的,因为9的值不能赋给2,它是个常量.把握住这一点,你就能推算出很多东西了.