カンマ・オペレータ

これは使えそう。
Comma operator - Wikipedia

x = (a, b);
y = (a, b, c);

っていう処理があった場合、xにはaの処理をした後にbがxに代入される。
同じくyには、aとbの処理がされた後にcがyに代入される。

int x;
int a=0, b=1, c=2;
x = (printf("a=%d \n",a), printf("b=%d \n", b), c);
printf("x=%d \n", x);

これを実行すると、こんな出力になる。

a=0
b=1
x=2


こんなマクロ書いて、ちょっと手を加えたら幸せになれそう。

#define TRACE(func) (printf("Enter %s @%s \n", #func, __func__), func)