Ed
há 2 semanas
Vamos analisar o código passo a passo: 1. Declaração das variáveis: `int x, y, z;` 2. Atribuição de valores: `z = 10;` e `x = 3;` 3. Cálculo de `y`: `y = (z > x) & ((x % 3) == 0);` - `z > x` é verdadeiro (10 > 3), então é 1. - `x % 3 == 0` é verdadeiro (3 é divisível por 3), então é 1. - O operador `&` (E bit a bit) entre 1 e 1 resulta em 1. Portanto, `y = 1`. 4. Cálculo de `x`: `x = z / x;` - Aqui, `x = 10 / 3`, que resulta em 3 (considerando divisão inteira). 5. Saída: `printf("X = %d, Z = %d, Y = %d", x, z, y);` Portanto, a saída será: `X = 3, Z = 10, Y = 1`. A alternativa correta é: X = 3, Z = 10, Y = 1.