Follow Our FB Page << >> for Daily Laughter. We Post Funny, Viral, Comedy Videos, Memes, Vines...

int arr[] = {1,2,3,4}
int *ptr=arr;

*(arr+3) = *++ptr + *ptr++;

Final contents of arr[]

Answers were Sorted based on User's Feedback

int arr[] = {1,2,3,4} int *ptr=arr; *(arr+3) = *++ptr + *ptr++; Final contents of ar..

Answer / jai

++ has higher precedence over *, assigment will resolve to
*(arr+3) = *(++ptr) + *(ptr++);
*(arr+3) = 2 + 2;
=> Though ptr is pointing to address of 3rd element after
post increment.

Is This Answer Correct ?    13 Yes 1 No

int arr[] = {1,2,3,4} int *ptr=arr; *(arr+3) = *++ptr + *ptr++; Final contents of ar..

Answer / guest


Is This Answer Correct ?    10 Yes 4 No

int arr[] = {1,2,3,4} int *ptr=arr; *(arr+3) = *++ptr + *ptr++; Final contents of ar..

Answer / anag

*(arr+3)------>arr[0][3] that means the there is any chnage
in the last value of an array

we know ++ has higher prededence than * so
*(++ptr)----> increment in the location after that it point
to the value
it represent the second location of an array
* represent the value at this address
the value at the second location is 2.
in the second expression first it refer the value after
that it increment in the location
ptr currently points to the second location . ptr holds
that location for the second expression * represent the
value at that location that is 2.
so 2+2->4
{1,2,3,4} ----------->ans
suppose if we add a another expression after this that *ptr
then it print the value 3
because previous expression increment the location of the
Thank you

Is This Answer Correct ?    5 Yes 0 No

int arr[] = {1,2,3,4} int *ptr=arr; *(arr+3) = *++ptr + *ptr++; Final contents of ar..

Answer / vijaisankar

In this statement
first ptr holds base address of the array(4000),
then as per precedence operators ptr gets post incremented
(4002)though it points the value 1(4000)(ptr is post
incremented) and then ptr gets preincrement so (4004) the
value in that one is 3 then 3+1=4.

Is This Answer Correct ?    2 Yes 7 No

int arr[] = {1,2,3,4} int *ptr=arr; *(arr+3) = *++ptr + *ptr++; Final contents of ar..

Answer / sachin

1 2 3 3

Is This Answer Correct ?    1 Yes 6 No

int arr[] = {1,2,3,4} int *ptr=arr; *(arr+3) = *++ptr + *ptr++; Final contents of ar..

Answer / vignesh1988i

1 2 3 5

Is This Answer Correct ?    2 Yes 10 No

Post New Answer

More C Interview Questions

What is a dynamic array in c?

0 Answers  

How do you determine whether to use a stream function or a low-level function?

0 Answers  

"%u" unsigned integer print the a) address of variable b) value of variable c) name of a variable d) none of the above

0 Answers  

What is c definition?

0 Answers  

Explain setjmp()?

0 Answers  

What are identifiers in c?

0 Answers  

Stimulate calculator using Switch-case-default statement for two numbers

0 Answers   Wipro,

How is a macro different from a function?

0 Answers   Tech Mahindra,

Why doesnt this code work?

0 Answers  

When was c language developed?

0 Answers  

Hi Every one...........I have been selected for the SBI Clerk. But i m one month Pregnanat. So anyone please suggest me, is they take any objection on my joining .

4 Answers   State Bank Of India SBI,

write a c program to do the following: a) To find the area of a triangle. b) To convert the temperature from Fahrenheit to Celsius. c) To convert the time in hours : minutes : seconds to seconds.

0 Answers