+ 3
Array declaration and initialization, output array element.
Enlighten fool please: int a[3]={2,1}; printf (â%dâ, a[a[1]]); In this code is initialized an array by using a comma-separated list of values enclosed in braces. Whereâs the third element? What does it a[a[1]] mean? Why the result of code execution is one?
2 Answers
+ 3
array size can be larger than the initialized array, that's not a problem, the printf("%d", a[a[1]]);
let break it down this way
a[a[1]] - - >> will 1st check the inner part which is a[1] and this point to 1 which is also 1 with this we will now have a[1] which is also 1 again, so the output is 1
+ 1
Just remember that you have to calculate the bracket things first so
In a[a[1]] lets write it this as b[c[1]] (remember b and c are same as 'a' i have written this just for demonstration purposes) so now in b[c[1]] you should calculate the things that are in bracket first so, c[1] = 1 (the second element in 'a') then b[c[1]] = b[1] = 1 (again the second element in 'a')
And also for the question you can always make a program and try to print it in this way you will learn more