Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"true is a #define for 1" is bad idea. Because when `x` is, say, `2` then `if x` is not the same as `if x==true`.


That's just the way C is. If you want to check "truthiness" (as much as you can in C), just do 'if x'.


Something nice in C is that "if (x)" is always equivalent to "if (x != 0)". NULL is a macro for 0, and so is false. Boolean expressions evaluate to 0 if they don't hold. This isn't true in C++, though.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: