Skip to content

Instantly share code, notes, and snippets.

@Silva97
Created December 10, 2024 03:49
Show Gist options
  • Save Silva97/97482276ba3375373d1b96d1e4d8d33b to your computer and use it in GitHub Desktop.
Save Silva97/97482276ba3375373d1b96d1e4d8d33b to your computer and use it in GitHub Desktop.
Um desafio besta
/*
Nota: Esse desafio deve ser compilado usando GCC ou Clang.
De acordo com o código da função pow(), ela deveria retornar 0. Mas se você compilar o código e rodar, verá que ela
retornará 1. O desafio é explicar porque está retornando 1.
P.S.: Ignore a imprecisão matemática da função pow(), é proposital.
*/
#include <stdio.h>
double pow(double x, double y) {
if (y == 0.0)
{
return 0.0;
}
double result = 1.0;
for (int i = 0; i < y; i++) {
result *= x;
}
return result;
}
int main(void)
{
double base;
printf("Digite um número para a base: ");
scanf("%lf", &base);
printf("%.1f^0.0 = %.1f\n", base, pow(base, 0.0));
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment