fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. void dump (char *zag, void *p, size_t len)
  4. {
  5. size_t i;
  6. printf("%s",zag);
  7. for (i=0; i<len; ++i)
  8. {
  9. if (i%16 == 0) printf("\n%p", (unsigned char*)p+i);
  10. printf(" %02X", *((unsigned char*)p+i));
  11. }
  12. printf("\n");
  13. }
  14. int main()
  15. {
  16. float n1,n2; double d1,d2; int i1, i2;
  17. n1 = 1.; n2 = -1.; d1=n1; d2=n2; i1=n1; i2=n2;
  18. printf("%f %f %f %f %d %d\n", n1, n2, d1, d2, i1, i2);
  19. dump("n1", &n1, sizeof n1);
  20. dump("n2", &n2, sizeof n2);
  21. dump("d1", &d1, sizeof d1);
  22. dump("d2", &d2, sizeof d2);
  23. dump("i1", &i1, sizeof i1);
  24. dump("i2", &i2, sizeof i2);
  25. printf("Give me d2:");
  26. scanf("%f",&d2);
  27. printf("d2(%%d)=%d d2(%%f)=%f\n",d2,d2); dump("d2", &d2, sizeof d2);
  28. return 0;
  29. }
Success #stdin #stdout 0s 5280KB
stdin
1.5
stdout
1.000000 -1.000000   1.000000 -1.000000   1 -1
n1
0x7ffe4cc67178 00 00 80 3F
n2
0x7ffe4cc6717c 00 00 80 BF
d1
0x7ffe4cc67188 00 00 00 00 00 00 F0 3F
d2
0x7ffe4cc67190 00 00 00 00 00 00 F0 BF
i1
0x7ffe4cc67180 01 00 00 00
i2
0x7ffe4cc67184 FF FF FF FF
Give me d2:d2(%d)=1200649616  d2(%f)=-1.000000
d2
0x7ffe4cc67190 00 00 C0 3F 00 00 F0 BF