C doesn't have a String data type, unless that supposed to be a typedef for something.
Having said that, I think this is taking advantage of the fact that array indexing in C is commutative; IOW, "a[i]" and "i[a]" both evaluate to the ith element of the array a. If "showdata" returns an integral type, it can be used to index into the array expression "hello".
Ive attached a quick-n-dirty example that illustrates this.
Code
#include <stdio.h>
int foo(void)
{
return 1;
}
int main(void)
{
", foo()["Hello"]);
", "Hello"[foo()]);
return 0;
}
Login to rate this answer.