Think pointer as an array , then u can understand the problm. Here *ptr=TAN ; so ptr points to the First adress of the string . when u do increment it just point to the next address and Thus is gives "AN" .
On 10/1/11, rahul sharma <[email protected]> wrote: > void main() > > { > void *ptr; > char *a='A'; > char *b="TAN"; > int i=50; > ptr=a; > ptr=(*char)malloc(sizeof(a)); > printf("%c",*ptr); > ptr=i; > ptr=(*int)malloc(sizeof(i)); > printf("%d",++(*ptr)); > ptr=b; > ptr=(*char)malloc(sizeof(b)); > printf("%c",++(*ptr)); > > } > Ans: A51AN > > > int his o/p int last printf it is %c but hw it is printing a two character > string????AN????isn't it a51 n then ++(*ptr) ++(T) so it become *U* > * > * > *isnt it a51U* > * > * > * > * > *but above ans is correct...* > * > * > *explain plz* > > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/algogeeks?hl=en. > > -- Somnath Singh -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.
