Quoting Del <caminturn@EARTHLINK.NET>: > Peter Ajamian wrote: > > > > Close, but not quite. The difference is that > the former is an operator > > which tests the first argument and returns > either the second or the third > > depending on the result. The latter is a > statement which tests the > > expression and executes one of two code blocks > depending on weather or > > not it's true. If that was too complex for > you then I'll try to simplify > > it with a couple of examples... > > > > Yes it is an operator, but why is it different > than an if statment? > Does it not do the same thing? i.e. Both check > the value, and if the value > is true, do the first, if not do the second. [snip] No. It is a ternary operator, but not the same as what you're trying to say. It can be fudged a little, but the essential difference is that the ? operator is used to report a value, while an if statement can perform an action. In other words: when i = 1, and you use (i ? "true" : "false") somewhere, the entire contents of the brackets is replace by the static string "true". When i = 0, the parenthesized is replaced with "false". In English, if (i) then ("true") else ("false") is the probably the second best way to say it. You're substituting a value though, so it's better to be said if (i) then ([my value is] "true") else ([my value is] "false"). Lastly, getting a book on C is definitely recommended. If not because it's a quicker resource than the list, then because it'll be less violent than the list stating "get a ....... book."/RTFM. -k. o O ( the next person to ask will get a "check the archives", as well. :P ) -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/05/01 PST