Question
Consider the following code snippet. What is the output
of the program?┬а #include < stdio.h > int main ( ) { ┬а ┬а int arr[5] = {1, 2, 3, 4, 5}; ┬а ┬а int *ptr = arr; ┬а ┬а ptr + = 2; ┬а ┬а printf("%d", *ptr); ┬а ┬а return 0; }Solution
In the code, ptr initially points to the first element of the array arr. The line ptr += 2; moves the pointer two positions ahead, meaning ptr now points to the third element of the array, which is 3. Therefore, *ptr dereferences the pointer to print the value 3. Why Other Options are Wrong: a) 1 is the first element, but the pointer has moved past it. b) 2 is the second element, but ptr skips over it. d) 4 is the fourth element, but ptr stops at the third. e) 5 is the fifth element, beyond where ptr is pointing.
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рдХреМрди рд╕рд╛ рд╡рд╛рдХреНрдп рд╢реБрджреНрдз рд╣реИ ?
рддреБрдо рдХреНрдпрд╛ рджреЗрдЦрддреЗ рд╣реЛ? (1) / рдЕрдм рдЗрд╕ рджрд░реНрдкрдг рдХреЛ (2) / рджреЗрдЦрдХрд░ (3) / рдмрддрд╛рдУ рдХрд┐ (4)┬а
я┐╜...
рдирд┐рдореНрдирд╛рдВрдХрд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ┬а рдореЗрдВ рд╢реБрджреНрдз рд╡рд░реНрддрдиреА рд╡рд╛рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рдХрд╛ ...
рджрд┐рдП рдЧрдП рд╢рдмреНрдж рдХреЗ рд╡рд┐рд▓реЛрдо рдХреЗ рд▓рд┐рдП рдЪрд╛рд░-рдЪрд╛рд░ рд╡рд┐рдХрд▓реНрдк рджрд┐рдП рдЧрдП рд╣реИрдВред рдЙрдЪрд┐рдд ...
рдирд┐рдореНрди рдореЗрдВ рд╕реЗ рдХреМрди рд╕рд╛ рд╢рдмреНрдж тАШрд╕реНрд╡рд░ рдХрд╛ рд╡рд░реНрдЧреАрдХрд░рдгтАШ рдирд╣реАрдВ рд╣реИ ?
рд╕рджреИрд╡┬а рдХрд╛┬а рд╕рдВрдзрд┐рд╡рд┐рдЪреНрдЫреЗрдж рдХреНрдпрд╛ рд╣реЛрдЧрд╛┬а
┬а тАШ рдХрд░реНрдорд╡рд╛рдЪреНрдптАЩ рд╕реЗ рд╕рдВрдмрдиреНрджрд┐рдд рд╡рд╛рдХреНрдп рд╣реИ
рдЕрд╡рд╛рдВрдЫрд┐рдд рд╕рдВрд╡рд╛рдж рдЕрд░реНрде рдХреЗ рд▓рд┐рдпреЗ рдЙрдкрдпреБрдХреНрдд рдореБрд╣рд╛рд╡рд░рд╛ рд╣реИрдГ-
рдирд┐рдореН тАН рдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╢реН тАН рди рдореЗрдВ рдХреМрдирд╕рд╛ рд╡рд┐рдХрд▓реН тАН рдк рд╕рд╣реА рдирд╣реАрдВ рд╣реИ ?
┬атАШрдмрд╛рдгрднрдЯреНрдЯ рдХреА рдЖрддреНрдордХрдерд╛' рдХрд┐рд╕ рд╡рд┐рдзрд╛ рдХреА рдкреБрд╕реНрддрдХ рд╣реИ :