True. But, standard rules for this logic algebra dictate that the AND should be evaluated before the OR. The && should work like * and the || like +. Standard Precedence of operators: ! * / mod and + - or == < > <= >= <> (Operators on the same level have the same precedence.) Paul >Masayuki, > >It also depends on which order they are evaluated. >Your expression is F&&F||T which can be >evaluate (F&&F)||T=T or F&&(F||T)=F. > >Jack > >Masayuki Etoh wrote: > >> Dear ROOTers, >> >> I tried the following macro on ROOT-2.23/11 and cint, I got "FALSE". >> It should be "TRUE", right? >> >> Best Regards, >> Etoh >> >> ======================================================================== >> { >> int a=1; >> if (a==0 && a==0 || a==1) { >> printf("TRUE\n"); >> } else { >> printf("FALSE\n"); >> } >> } >> ========================================================================
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:20 MET