• Matéria: Informática
  • Autor: dasj5150
  • Perguntado 3 anos atrás

1. #include
2. int somar(){
3. return 1 + 2.15;
4. }
5. int main(){
6. int resultado = 0;
7. resultado = somar();
8. printf(“O resultado da funcao e = %d”,resultado);
9. return 0;
10. }

Respostas

respondido por: binho95rb
5

Resposta:

O resultado será 3

Explicação:

isso acontece devido a um truncamento que ocorre quando tentamos atribuir uma variável int com um valor que é do tipo float. Nesse caso, a função foi declarada sendo do tipo int, e dessa forma ela teria que devolver um valor correspondente ao tipo dela, e quando fazemos a conta “1+2,15” perdemos a parte decimal da conta e apenas o 3 retorna para a main do programa. E mesmo que a função retornasse a conta de forma correta, a parte decimal seria descartada por que a variável resultado é do tipo int e não aceitaria valores de outros tipos.


dasj5150: muito obrigado.
Perguntas similares