Interesting C thingy
jason at tommyk.com
Mon Aug 9 09:52:17 PDT 2004
On 8/9/2004 12:14, Kevin P. Fleming wrote:
> Jason Gurtz wrote:
>> What does printf("%c\n",0["unix"]); output and why?
> My guess would be that is prints "u" followed by a newline, but I can't
> say for sure why I think that :-)
Well, you're right. I'll give it away...
"x[y]" is, more or less, shorthand for *(x+y). Since "unix" in this
case is an expression of type array (of its self) and array names ==
arrayName you get a pointer to unix[0+0] or "u".
Actualy, I learned a whole bunch of things there by that simple little
statement. Maybe I'll spring it on my Intermediate C++ class this
Oh, and BTW, this example was originaly given at a USENIX C obfuscation
contest (not sure if it won or not).
More information about the lfs-chat