#include #include // Added for strlen int main() { double x = 1.0 / 3.0; printf("x = %.15g\n", x); printf("(long)x = %ld\n", (long)x); printf("x == (long)x: %s\n", x == (long)x ? "true" : "false"); char buffer[128]; if (x == (long)x) { snprintf(buffer, sizeof(buffer), "%ld", (long)x); printf("Using integer format: '%s'\n", buffer); } else { snprintf(buffer, sizeof(buffer), "%.15g", x); printf("Using float format: '%s'\n", buffer); } return 0; }