Brian Jones writes: > int diff, change; > if ((time_info.month >= 9) && (time_info.month <= 16)) > diff = (weather_info.pressure > 985 ? -2 : 2); > else > diff = (weather_info.pressure > 1015 ? -2 : 2); > > My C still sucks :) I normaly was a pascal person.. but what does > this do? the (weather_info.pressure > 985 i think may return a 0 if > the statement is true and a nonzero if its false.. but then what does the > ? -2 : 2) do? This is the first time I've ever seen something like > that... some sort of math operator or comparison or something? can > someone please explain what that statement does? The "?:" operator is called a trigraph, and it's just shorthand for an IF/THEN/ELSE construct, so: diff = (weather_info.pressure > 1015 ? -2 : 2); translates to: if (weather_info.pressure > 1015) diff = -2; else diff = 2; Some development teams outlaw trigraphs because they can obscure the meaning behind a bit of code, but I think they come in very handy in some situations (like the above). \_\_\_ _/ \_\_\_ axis data: specializing in online system setup & design \_ \_ _/ \_ \_ Edward Almasy almasy@axis.com \_\_\_ _/ \_\_\_ President: Axis Data Proprietor: NineJackNine \_ _/ _/ \_ 608-256-5732 (voice) 608-256-5697 (data) \_\_\_ _/_/_/ \_\_\_ 9jack9: on the bleeding edges of culture and technology
This archive was generated by hypermail 2b30 : 12/07/00 PST