I am writing a very simple program but the output change for the c
variable value change every time i run it. What would it be my mistake
on the source? Did i forget some thing?

#include <stdio.h>

int
main(int argc, char **argv)
{
       unsigned long long      x, c;
       unsigned                *p;

       x = 1, x+= (unsigned long long)1 << 33 ;
       p = (void *)&x;
       c = p[0] * p[1];

       fprintf(stdout, "x:%llu\n", x);
       fprintf(stdout, "0,1:%u,%u\n", p[0], p[1]);
       fprintf(stdout, "c:%llu\n", c);

       return 0;
}

Reply via email to