#include <stdio.h>
void foo( unsigned char a,
unsigned char b,
unsigned char c,
... )
{
unsigned char * d = & c - 1 ;
printf ( "d: %hhX\n c: %p\n b: %p\n a: %p\n " , d,
( void * ) & c,
( void * ) & b,
( void * ) & a ) ;
}
int main( void )
{
foo( 1 , 2 , 3 , 4 ) ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiAKdm9pZCBmb28oIHVuc2lnbmVkIGNoYXIgYSwgCgkgIHVuc2lnbmVkIGNoYXIgYiwgCgkgIHVuc2lnbmVkIGNoYXIgYywgCgkgIC4uLiAgKQp7Cgl1bnNpZ25lZCBjaGFyICpkID0gJmMgLSAxOwoKCiAgICAgICAgcHJpbnRmKCAiZDogJWhoWFxuYzogJXBcbmI6ICVwXG5hOiAlcFxuIiwgCgkJZCwgCiAgICAgICAgICAgICAgICAodm9pZCAqKSZjLCAKICAgICAgICAgICAgICAgICh2b2lkICopJmIsIAogICAgICAgICAgICAgICAgKHZvaWQgKikmYSApOwp9CiAKIAogCmludCBtYWluKHZvaWQpCnsKICAgICAgICBmb28oIDEsIDIsIDMsIDQgKTsKIAogCiAgICAgICAgcmV0dXJuIDA7Cn0K