Leia o trecho de programa a seguir: #include int x = 10; int main(){ int x = -1; int b; { extern int x; b = x; } printf("\n Valor de x = %d",x); printf("\n Valor de b (x global) = %d",b); return 0; } De acordo com o trecho de programa, analise as asserções a seguir: I. Na linguagem C, para acessar o valor de uma variável global dentro de uma função que possui uma variável local com mesmo nome, deve-se usar a instrução extern. PORQUE II. Utilizar variáveis globais e locais com mesmo nome na linguagem C necessita criar uma nova variável chamada “b”, com um bloco de instruções, que atribui à nova variável o valor “interno” de x. A respeito dessas asserções, assinale a alternativa correta: Escolha uma: a. As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. b. As asserções I e II são proposições falsas. c. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. d. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. e. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
Respostas
Resposta:
LETRA 'D'
Explicação:
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. Corrigido pelo AVA
Acerca do treco de código apresentado e escrito na linguagem de programação C, o valor de uma variável global deve ser usado o extern para isso e para utilizar a variável global deve-se utilizar uma nova variável chamada "b" e atribuir o valor do "x" global, logo, a alternativa correta é a alternativa A. As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I.
Mas por que as duas asserções são verdadeiras sobre variável global em C?
Observando o código apresentado é possível ver que as duas asserções são verdadeiras, afinal, ambas falam o que está escrito no programa na linguagem C. Para acessar uma variável global é preciso utilizar o extern e também é preciso atribuir a uma nova variável dentro da função main caso já exista uma com representação igual.
No caso desse algoritmo, ao fazer uma correção tirando o int x = 10 do include e colocando o <stdio.h> o programa já fica utilizável e podemos ver exatamente o que é dito nas asserções I e II. Segue o código corrigido abaixo:
#include <stdio.h>
int x = 10;
int main(){
int x = -1;
int b;
{ extern int x;
b = x; }
printf("\n Valor de x = %d",x);
printf("\n Valor de b (x global) = %d",b);
return 0;
}
Com esse código, o resultado fica que x = -1 e b = 10.
Saiba mais sobre a linguagem de programação C aqui: https://brainly.com.br/tarefa/24403342
#SPJ2