prog.c: In function ‘main’:
prog.c:7:3: warning: operation on ‘i’ may be undefined [-Wsequence-point]
i=f1(i,f2(k,1));
^
prog.c:3:18: error: expected expression before ‘^’ token
#define f2(k,i) i^j;
^
prog.c:8:4: note: in expansion of macro ‘f2’
j=f2(j,f1(i,j));
^~