c语言中的赋值符在判断表达式中能否为变量赋值

请问如果赋值符在一个判断结构里面是不是不能实现对变量赋值的功能而只作为输出一个表达式的值

就比如b=c=0的情况下,a=(b=-1)||(c+1)这时候如果再输出b是会输出最开始定义的0,还是在表达式中b=-1中赋的值啊?

a=(b=-1)||(c+1)后b为-1了