Gabarito: A
Esta é uma ótima questão para relembrarmos o funcionamento dos arrays e do operador condicional ternário.
Primeiramente é declarado um array ‘a’ de inteiros, com 10 posições;
Em seguida é declarada a variável auxiliar ‘i’ também inteiro e inicializada com o valor 0 (Lembre-se que o primeiro índice dos vetores é 0 e não 1, então o vetor de tamanho dez irá de a[0] até o a[9]). O loop while irá preencher o vetor ‘a’.
A expressão do ternário é a seguinte: i > 0 ? a[i-1] : 0.
Então na primeira iteração, o resultado é falso, será retornado o valor da segunda expressão 0.
a[0] = 0 + 0 => 0.
Nas próximas iterações, a condição do ternário será verdadeira (i>0), o vetor receberá o valor do índice somado ao valor guardado na posição anterior a[i-1].
a[1] = 1 + a[0] = 1 + 0 => 1.
a[2] = 2 + a[1] = 2 + 1 => 3.
a[3] = 3 + a[2] = 3 + 3 => 6.
a[4] = 4 + a[3] = 4 + 6 => 10.
a[5] = 5 + a[4] = 5 + 10 => 15.
a[6] = 6 + a[5] = 6 + 15 => 21.
a[7] = 7 + a[6] = 7 + 21 => 28.
a[8] = 8 + a[7] = 8 + 28 => 36.
a[9] = 9 + a[8] = 9 + 36 => 45.
O array está completo, e o loop while chega ao fim (i=10). E o valor impresso será o valor de a[9] = 45.