Analise o código abaixo escrito em C.
-
int main() {
int a, b;
a = 3;
b = 7;
int c = a * (b + a);
c = b;
printf(“%d”; c);
return
}
-
Assinale, a seguir, o valor impresso ao final da execução do código.
7
10
24
30
Para descobrir o valor impresso ao final da execução do código, precisamos seguir os passos do programa linha a linha. Primeiro, são declaradas duas variáveis inteiras, a
e b
, e são atribuídos a elas os valores 3 e 7, respectivamente. Depois, é declarada a variável c
e é atribuído a ela o resultado da operação a * (b + a)
, que seria 3 * (7 + 3)
, ou seja, 3 * 10
, resultando em 30. No entanto, na linha seguinte, o valor da variável b
, que é 7, é atribuído a c
. Portanto, o valor final de c
, que será impresso, é 7.
Verifique a ordem das operações e lembre-se de que a última atribuição feita a uma variável é o valor que ela manterá.
Considere o valor de cada variável após cada linha de código ser executada.
Observe que a variável c
é reatribuída após a operação matemática.
Um erro comum seria assumir que o valor de c
é 30, já que essa é a resposta da operação matemática realizada, sem prestar atenção à linha subsequente que altera seu valor.
O conceito envolvido nesta questão é o entendimento de variáveis e atribuições em linguagem C. Entender a ordem de execução das instruções e como as operações aritméticas são realizadas também é crucial.