Given the following snippet of code:
int *iptr;
float *fptr;
float fval;
fval = 0.0;
fptr = &fval;
iptr = fptr;
printf("%d \n", *iptr);
fval = 1.0;
printf("%d \n", *iptr);
The output is:
0
1065353216
Why does the first print statement at least approximately match the value associated with *iptr (0.0), yet the second print statement doesn't?