этот код C
unsigned long int a, b, x;
float c, d, y;
a = 6;
b = 2;
x = a/b;
c = 6.0;
d = 2.0;
y = c/d;
printf("\n x: %d \n y: %f \n",x,y);
работает правильно и печатает
x: 3
y: 3.000000
однако, когда я изменяю первую строку на эту
unsigned long long int a, b, x;
Я получаю этот вывод:
x: 3
y: 0.000000
это действительно поражает меня ... Я ничего не изменил с c, d и y - почему я это получаю? Я использую GCC на Linux