Note 1

Take Note:

Take a note while surfing.





Note With Ink

Give your Note a Colorful Tag.




Easy to Access

Stay on same information and in Sync wherever you are.

Note 2

Take Note:

Organize your information,It may take Shape.





Think With Ink

Differ your Content by Color.




Easy to Access

Easy to pull up your content from anywhere anytime.

Note 3

Take Note:

Don't Let information to miss,Because it take shape





Note With Ink

Simple an Easy Way to take a note.




Easy to Access

Get the same in next visit.


Please wait...

C Programming :: Dynamic Memory Allocation

1. What will print out?

#include
void main()
{
char *p1="name";
char *p2;
p2=(char*)malloc(20);
memset (p2, 0, 20);
while(*p2++ = *p1++);
printf("%s\n",p2);
}

Answer: Option B

Explanation :

In the given question expression while(*p2++ = *p1++); loop is evaluating the expression: *p2++ = *p1++. The while loop expression *p2 = *p1 is evaluated using the result of *p1. However, this value is still assigned to *p2 even if the expression evaluates as false or (0).


As in each step p1 and p2 address is incremented, when while loop terminated y that time p1 and p2 will point to null. so that when p2 printed blank printed. even p1 will too print blank (empty string)



Asked In :: BOA (Bank of America)

Post Your Answer Here:     

q4i-reply-your-answer Reply     |    Rate This: +0 -0      |     Report     |     To Reading List



Report Error

Please Login First Click Here