As it will cause printf("%llu\n", (unsigned long long)1e19); output 9223372036854775808 instead of 10000000000000000000
12 lines
241 B
C
12 lines
241 B
C
#include <stdio.h>
|
|
int main() {
|
|
printf("%d\n", (int)-1.0);
|
|
double d = -1.0;
|
|
printf("%d\n", (int)d);
|
|
|
|
printf("%d\n", (int)-2147483648.0);
|
|
d = -2147483648.0;
|
|
printf("%d\n", (int)d);
|
|
|
|
printf("%llu\n", (unsigned long long)1e19);
|
|
}
|