1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#include <stdio.h> char buf[2]; f (fp) int (*fp)(char *, const char *, ...); { (*fp)(buf, "%.0f", 5.0); } main () { f (&sprintf); if (buf[0] != '5' || buf[1] != 0) abort (); exit (0); }