On Mon, Mar 19, 2007 at 07:12:24PM -0300, Gustavo Rios wrote:
> 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;
> }
I run this many times, with other stuff in between, and I always get:
$ ./gustavo
x:8589934593
0,1:1,2
c:2
Same values for everything, every time. Hmm.
--
Darrin Chandler | Phoenix BSD Users Group
[EMAIL PROTECTED] | http://bsd.phoenix.az.us/
http://www.stilyagin.com/darrin/ |