Analise o código abaixo.
#include
________________________________
{
return ((float) 4/3 * 3,14 * raio * raio * raio);
}
int main(void)
{
______________ = 2;
printf("%f", volume_esfera(esfera));
}
Diante do exposto, na sequência, assinale a alternativa que preencha as lacunas corretamente em linguagem C.
Alternativas
Alternativa 1:
int volume_esfera(int raio), int esfera
Alternativa 2:
float volume_esfera(int raio), float esfera
Alternativa 3:
float volume_esfera(int esfera), int raio
Alternativa 4:
float volume_esfera(int raio), int esfera
Alternativa 5:
void volume_esfera(int raio), int esfera
Soluções para a tarefa
Alternativa 2, se formos analisar as alternativa 3, 4 e 5, ambas falam que na segunda opção, int como tipo de variável, mas se pegarmos o código, ele coloca no printf o "%f", em c essa notação significa uma indicação para float.
Já na primeira alternativa temos que todos os tipos de variáveis são do tipo int, logo excluímos ela de cara, pela mesma justificativa que no printf existe o "%f", que em c essa notação significa uma indicação para float.
Espero ter ajudado!
Resposta:
Alternativa 4
Explicação:
Apesar do printf("%f", volume_esfera(esfera));
indicar %f de float isso apenas determina que o retorno da funcao deve ser do tipo float, contudo na variavel estamos atribuindo 2 que é um tipo inteiro e não um float caso contrario a atribuição seria 2.0 e também a declaração da funcao no indica que esta esperando receber um inteiro.