Seja o seguinte programa: int main ( ) { int i = 2, i = 4; int *p, *q; p = &i; q = &j; printf

Seja o seguinte programa: int main ( )
{
int i = 2, i = 4;
int *p, *q;
p = &i;
q = &j;
printf ( " %d %d %d %d n" , p == &i, *p -*q, 3* - *p, *q/(*p)+2 )
}
Qual será a saída deste programa na tela?

A - 0, -2, -6, -4
B - 0, 8, 6, 2
C - 1, 2, 6, 4
D - 1, -2, -6, 4
E - nenhuma das alternativas anteriores

1 Resposta

  • Yarawaneska

    resposta:

    Olá, tem alguns erros no código:

    Primeiro ==> uso de identificador não declarado 'j'  q = & j;

    Segundo ==> é preciso colocar ponto e virgula no final da função printf

    Terceiro ==> redefinição de 'i'

    Por esse motivo acredito que a resposta correta seja a alternativa, (E) nenhuma das anteriores, porque o código irá retornar um erro.

    Para que o programa funcione podemos fazer o seguinte:

    #include

    int main ( )

    {

    int i = 2;/*==> comentar a variável porque já foi atribuido um valor a ela , i = 4;*/

    int *p, *q;

    p = &i;

    /*==> colocar em comentário //q = &j;

    ==> adicionar o ponto e vírgula no final do printf: */

    printf ( " %d %d %d %d n" , p == &i, *p -*q, 3* - *p, *q/(*p)+2 );

    }

    Agora que o programa funciona pois fizemos algumas alterações, termos o seguinte output:   1 1991643857 -6 -995821925

Clique aqui para adicionar a sua resposta.