On Mon, 8 Apr 1996, The Gathering MUD wrote: > Hello.. i have a question.. > > > sprintf(buf2, "%s[ Exits: %s]%s\r\n", CCCYN(ch, C_NRM), > +-> *buf ? buf : "None! ", CCNRM(ch, C_NRM)); > Would someone please explain to me what this line does? It is from > act.informative.c, in the autoexit code, around line 300 expr ? true : false expr: A standard if/while/for/etc expression. In this case, if *buf is nonzero, it means TRUE. true: What the statement evaluates to if expr is TRUE. false: What the statement evaluates to if expr is FALSE. Here, if *buf is nonzero (or non-null-terminator, presumably), buf is added to the string. These should be the exits. If not, the string "None!" is added instead. It's a handy way of doing things in one step without if's, though it's a bit confusing until it's been explained. (Sorry about the 'expr' stuff, btw, I learned this from a Borland manual.) ________________________________________________________________________ Tel Janin Aellinsar http://www.crocker.com/~icarus McCoy Enterprises Corporation Shayol Ghul Resort and Health Spa Berserker Dragon, Knights of the Cosmos icarus@BERKSHIRE.NET
This archive was generated by hypermail 2b30 : 12/18/00 PST