C
Programming and Technical
output?
main()
{
char *p="hai friends",*p1;
p1=p;
while(*p!=' ') ++*p++;
printf("%s %s",p,p1);
}
Answer. ibj!gsjfoet
Explanation: ++*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 ‘ ’ and p1
points to p thus p1doesnot print anything
Read Solution (Total 0)
C Other Question