If you define A as a long int, then it remains a long int. The multiplication is done using floating point, then the product is converted to a long int and stored into A. Here is an excerpt from the ANSI spec describing the conversion ...
6.3.1.4 Real floating and integer
When a finite value of real floating type is converted to an integer type other than _Bool, the fractional part is discarded (i.e., the value is truncated toward zero). If the value of the integral part cannot be represented by the integer type, the behavior is undefined.