聽說 C 比較難寫,一下子想不到什麼好的 macro 作法,只好這樣攤開來
/* https://ideone.com/yKNrXd */
#define eval(x,y)   { printf("%2d x %2d = %2d\n",(x),(y),(x)*(y)); }
#define eval3(x,y)  { eval(x,y); eval((x),(y)+1); eval((x),(y)+2); }
#define eval9(x)    { eval3(x,1); eval3((x),4); eval3((x),7); }
#define eval39(x)   { eval9(x); eval9((x)+1); eval9((x)+2); }
#define eval99()    { eval39(1); eval39(4); eval39(7); }
#include <stdio.h>
int main(void)
{
    eval99();
    return 0;
}