Por que printf implícito float para int conversão não funcion
Por favor, ajude-me a entender a seguinte saída C:
#include<stdio.h>
int main() {
float x = 4.0;
printf("%f\n",x);
printf("%d\n",x);
int y=x;
printf("%d\n",y);
return 0;
}
Ouput no compilador gcc
4.000000
0
4
Tanto quanto li quando atribuímos float a uma variável int, a parte decimal da variável é finalizada e depois atribuída à in
Por que não está acontecendo neste caso?