C Programming - Pointers - Discussion

Discussion Forum : Pointers - Find Output of Program (Q.No. 11)
11.
What will be the output of the program?
#include<stdio.h>

int main()
{
    int arr[2][2][2] = {10, 2, 3, 4, 5, 6, 7, 8};
    int *p, *q;
    p = &arr[1][1][1];
    q = (int*) arr;
    printf("%d, %d\n", *p, *q);
    return 0;
}
8, 10
10, 2
8, 1
Garbage values
Answer: Option
Explanation:
No answer description is available. Let's discuss.
Discussion:
58 comments Page 3 of 6.

Shyamal said:   5 months ago
[2][2][2]=8 position
[1][1][2]=1 position
Answer is 8,10.
(1)

Ritu said:   6 years ago
@Rahul Sharma.

Thank you, you have explained it very well.

Anmol singh said:   1 year ago
Can anyone help me how 8 came? Anyone, please explain.
(1)

Haneef said:   1 decade ago
Rahul. What the value if its a[ 2 ] [ 1 ] [ 1 ]. ?

Deepak said:   6 years ago
Can anyone explain this more clearly to get this?
(1)

Navino said:   9 years ago
@Rahul Sharma.

Very good explanation, Thank you.

Vaishu said:   7 years ago
Is *q always take the first element of an array?

Swanand said:   1 decade ago
Good rahul hope you explain in future like this.

Amaan said:   7 years ago
@Rahul.

You explained it very well, Thanks.

Rashmi said:   5 years ago
Great explanation. Thanks @Rahul Sharma.


Post your comments here:

Your comments will be displayed after verification.