#define IS_FOREIGNER(x) (!(x->citizen)) #define IS_SPOUSE(x) (x->married) #define INCOME(x) (x->income) ... int is_average( struct Person *person ) { if ( !IS_FOREIGNER( person ) && !IS_SPOUSE( person ) && INCOME( person ) > 3000 ) { return 1; } else { return 0; } }