Hello, I'd like to comment about the &&, || precedence problem. This is a cint problem. Cint does not behave like standard. There is a complication with && || operators which makes it difficult to fix. Please use () to avoid confusion for the time being. Thank you Masaharu Goto > >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:21 MET