bt2.c
#define PR(x) printf("x = %.8g\t",(double)x)
#define NL putchar('\n'):
#define PRINT4(x1,x2,x3,x4) PR(x1); PR(x2); PR(x3); PR(x4)
void main(void)
{
double d;
float f;
long l;
int i;
i = l = f = d = 100/3; PRINT4(i,l,f,d); /* Basic Types 1.1 */
d = f = l = i = 100/3; PRINT4(i,l,f,d); /* Basic Types 2.1 */
i = l = f = d = 100/3.; PRINT4(i,l,f,d); /* Basic Types 2.2 */
d = f = l = i = (double)100/3;
PRINT4(i,l,f,d); /* Basic Types 2.4 */
i = l = f = d = (double)(100000/3);
PRINT4(i,l,f,d); /* Basic Types 2.5 */
d = f = l = i = 100000/3; PRINT4(i,l,f,d); /* Basic Types 2.6 */
}
/*
$ gcc bt2.c
bt2.c:7:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
7 | main()
| ^~~~~~
*/
bash
x = 33 x = 33 x = 33 x = 33 x = 33 x = 33 x = 33 x = 33 x = 33 x = 33 x = 33.333332 x = 33.333333 x = 33 x = 33 x = 33 x = 33 x = 33333 x = 33333 x = 33333 x = 33333 x = 33333 x = 33333 x = 33333 x = 33333