1 votes 1 votes closed as a duplicate of: MadeEasy Test Series 2018: Programming & DS - Prorgramming In C Kaluti asked Jan 22, 2018 • closed Mar 5, 2019 by ajaysoni1924 Kaluti 479 views comment Share Follow See all 11 Comments See all 11 11 Comments reply Show 8 previous comments Ashwani Kumar 2 commented Jan 23, 2018 reply Follow Share If printing with %s, mech, gate and civil is printed. But here in question they are using %d, in this case 109, 103 and 99 is printed which is ASCII Value of first character of mech, gate and civil respectively. 0 votes 0 votes Akash Mishra commented Jan 23, 2018 reply Follow Share @Ashwani, Why is "civil" printed and not "mech" when using "%s"? Pleaseexplain. 0 votes 0 votes Ashwani Kumar 2 commented Jan 23, 2018 reply Follow Share @Akash Before third printf statement $a$ is pointing to $arr2$ where it was incremented. Now, $a[[-1][+1]=*(*(a-1)+1)$ $*(a-1)$ gives base address of $arr1$ and $*(*(a-1)+1)$ gives "Civil" because it will be incremented with the size of pointer 1 votes 1 votes Please log in or register to add a comment.