fork download
  1. #include <stdio.h>
  2.  
  3. void foo( unsigned char a,
  4. unsigned char b,
  5. unsigned char c,
  6. ... )
  7. {
  8. printf( "a: %p\nb: %p\nc: %p\n",
  9. (void *)&a,
  10. (void *)&b,
  11. (void *)&c );
  12.  
  13. printf( "c-11: %hhu\n", *(&c - 11) );
  14. printf( "c-10: %hhu\n", *(&c - 10) );
  15. printf( "c-09: %hhu\n", *(&c - 9) );
  16. printf( "c-08: %hhu\n", *(&c - 8) );
  17. printf( "c-07: %hhu\n", *(&c - 7) );
  18. printf( "c-06: %hhu\n", *(&c - 6) );
  19. printf( "c-05: %hhu\n", *(&c - 5) );
  20. printf( "c-04: %hhu\n", *(&c - 4) );
  21. printf( "c-03: %hhu\n", *(&c - 3) );
  22. printf( "c-02: %hhu\n", *(&c - 2) );
  23. printf( "c-01: %hhu\n", *(&c - 1) );
  24. printf( "c+00: %hhu\n", *(&c - 0) );
  25. printf( "c+01: %hhu\n", *(&c + 1) );
  26. printf( "c+02: %hhu\n", *(&c + 2) );
  27. printf( "c+03: %hhu\n", *(&c + 3) );
  28. printf( "c+04: %hhu\n", *(&c + 4) );
  29. printf( "c+05: %hhu\n", *(&c + 5) );
  30. printf( "c+06: %hhu\n", *(&c + 6) );
  31. printf( "c+07: %hhu\n", *(&c + 7) );
  32. printf( "c+08: %hhu\n", *(&c + 8) );
  33. printf( "c+09: %hhu\n", *(&c + 9) );
  34. printf( "c+10: %hhu\n", *(&c + 10) );
  35. printf( "c+11: %hhu\n", *(&c + 11) );
  36.  
  37. }
  38.  
  39.  
  40.  
  41. int main(void)
  42. {
  43. foo( 0xfe, 0xfd, 0xfc, 0xfb );
  44.  
  45.  
  46. return 0;
  47. }
  48.  
Success #stdin #stdout 0.01s 1720KB
stdin
Standard input is empty
stdout
a: 0xbfdadf18
b: 0xbfdadf14
c: 0xbfdadf10
c-11: 223
c-10: 0
c-09: 0
c-08: 20
c-07: 223
c-06: 218
c-05: 191
c-04: 16
c-03: 223
c-02: 218
c-01: 191
c+00: 252
c+01: 175
c+02: 138
c+03: 183
c+04: 253
c+05: 159
c+06: 4
c+07: 8
c+08: 254
c+09: 223
c+10: 218
c+11: 191