Subj : Re: Questions...??? To : borland.public.cpp.borlandcpp From : Bob Gonder Date : Fri Sep 09 2005 01:44 pm mujeebrm wrote: >main(){ char *c="main(){char *c=%c%s%c;printf(c,34,c,34);}" You are missing the semicolon ; >printf((c,34,c,34);} Too many parens (( >can any plz decipher this to me or provide reasons or techniques behind all >this... This can also be written main(){ char *c="main(){char *c=\"%s\";printf(c,c);}"; printf(c,c);} May be a bit clearer if we reformat? int main(void) { // define a c string char *c= "main(){char *c=\"%s\";printf(c,c);}"; // print the c string using a c string as the format specifier printf(c,c); return 0; } Put it another way: char*c="This is the string c: %s"; printf( c, c ); or printf( "This is the string c: %s", c ); No real magic. .