print statement become printf("char *str= %c%s%c; main...............................",34,str,34); now 34 is ascii value of double quote so first %c will get value ascii_code_of(34) and %s will get same string and last %c again get ascii_code_of(34) i.e " so total string is "char *str="+ asci(34)+str+ascii(34)+";main() { printf(str,34,str,34);}"
On Thu, Jun 28, 2012 at 2:01 PM, Mad Coder <imamadco...@gmail.com> wrote: > Please explain the output of following C code > > #include<stdio.h>char *str = "char *str = %c%s%c; main(){ printf(str, 34, > str, 34);}"; > int main() > { > printf(str, 34, str, 34); > return 0; > } > > Output-- > char *str = "char *str = %c%s%c; main(){ printf(str, 34, str, 34);}"; main(){ > printf(str, 34, str, 34);} > > > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To post to this group, send email to algogeeks@googlegroups.com. > To unsubscribe from this group, send email to > algogeeks+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/algogeeks?hl=en. > -- Thanks & Regards Amritpal singh -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.