.
.
chris :
printf: undefined, ( varargs, IIRC).
: , undefined , / , .
"undefined"?
:
int main()
{
int i = 10 ;
void * pi = &i ;
double * pf = (double *) pi ;
double f = *pf ;
return 0;
}
, double (.. pf) , (.. i), undefined , , .
, !
, ( ), , , , int-:
typedef union
{
char c[8] ;
double f ;
int i ;
} MyUnion ;
f i , c ( ) , .
void printMyUnion(MyUnion * p)
{
printf("[%i %i %i %i %i %i %i %i]\n"
, p->c[0], p->c[1], p->c[2], p->c[3], p->c[4], p->c[5], p->c[6], p->c[7]) ;
}
, .
:
int main()
{
memset(myUnion.c, 0, 8 * sizeof(char)) ;
printMyUnion(&myUnion) ;
memset(myUnion.c, 0, 8 * sizeof(char)) ;
myUnion.i = 10 ;
printMyUnion(&myUnion) ;
memset(myUnion.c, 0, 8 * sizeof(char)) ;
myUnion.f = 10 ;
printMyUnion(&myUnion) ;
memset(myUnion.c, 0, 8 * sizeof(char)) ;
myUnion.f = 3.1415 ;
printMyUnion(&myUnion) ;
return 0 ;
}
. Visual ++ 2010.
, , , , .
, , , .
, , , ( -).
printf , , , , int.
P.S.: , int double , , .
int double!
?
Helios .
int main()
{
int x=10;
printf("%f",(double)(x));
return 0;
}
, , printf:
/* printf("...", [[10 0 0 0]]) ; */
printf("%i",x);
/* printf("...", [[10 0 0 0 ?? ?? ?? ??]]) ; */
printf("%f",x);
/* printf("...", [[0 0 0 0 0 0 36 64]]) ; */
printf("%f",(double)(x));
, "10" "10.0".
, "% i" - [[????????]], printf - [[10 0 0 0]] .
"% f" - [[???????????????]], printf - [[10 0 0 0]], 4 . , 4 (, "" [[10 0 0 0]], - [[10 0 0 0????]]
printf , , [[0 0 0 0 0 0 36 64]], printf double.