逻辑符号出现在赋值语句中,怎么理解

 例如:   if (T->f == '~' && T->lchild != NULL)
        T->b = !(T->lchild->b);
    else if (T->f == '~' && T->rchild != NULL)
        T->b = !(T->rchild->b);
    else if (T->f == '&')
        T->b = T->lchild->b & T->rchild->b;
    else if (T->f == '|')
        T->b = T->lchild->b | T->rchild->b;

是字符串哦,T->f == “&”,是说t结构体的元素f是否是这个符号哦

&&是且

||是或

img


参考这个
《一分钟搞懂逻辑运算符&(并且) , |(或者) , !(非) , ^(异或) , &&(短路与) , ||(短路或)之间的关系》, 一起来围观吧 https://blog.csdn.net/Gakooon/article/details/101652638?utm_source=app&app_version=4.21.0&code=app_1562916241&uLinkId=usr1mkqgl919blen

先执行逻辑运算,然后把运算结果赋值给等号前面的变量