Code:
#include <stdio.h>

int main() {

printf("%d %d\n", abs(50.0), (int) 50.0);
}

Output:
0 50


Does anyone have any idea why abs(50.) returns 0? I am aware of the fabs() function, i am just wondering about how C casts 50.0 before it passes it to abs().

Thanks