|
main()
{
char *p="hai friends",*p1;
p1=p;
while(*p!='\0') ++*p++;
printf("%s %s",p,p1);
},Java, C ,C++, ASP, ASP.net C# ,Struts ,Questions & Answer, Struts2, Ajax, Hibernate, Swing ,JSP , Servlet, J2EE ,Core Java ,Stping, VC++,
HTML, DHTML, JAVASCRIPT, VB ,CSS, interview ,questions, and answers, for,experienced, and fresher
main()
{
char *p="hai friends",*p1;
p1=p;
while(*p!='\0') ++*p++;
printf("%s %s",p,p1);
}
ibj!gsjfoet
++*p++ will be parse in the given order *p that is value at the location currently pointed by p will be taken ++*p the retrieved value will be incremented. when ; is encountered the location will be incremented that is p++ will be executed
Hence, in the while loop initial value pointed by p is �h�, which is changed to �i� by executing ++*p and pointer moves to point, �a� which is similarly changed to �b� and so on. Similarly blank space is converted to �!�. Thus, we obtain value in p becomes �ibj!gsjfoet� and since p reaches �\0� and p1 points to p thus p1doesnot print anything.
|