> Хинт: в этом макро радикально не хватает как минимум скобочекэто макро было иллюстративным и только.
> Как вам например SWAP(x++, ++y)?
Никак. Написавший такие аргументы в таком макро -- идиот, лечить бесполезно. Выстрелить себе в любую часть тела на Си не было проблемой вообще никогда. Макросы от того и пишут большими буквами, чтобы те, кто ими пользуются понимали "хрупкость" и осознавали возможности сайд-эффектов.
> А то что вы хотели на самом деле _Generic называется, и таки начиная с C11 - есть.
Без генерика приведённый вариант обмена значений будет работать даже с любой стркутурой, а как он будет с генериком -- вопрос интересный. Не всё ограничивается только вариантами целых чисел.
> Смотрите дети ...
Проецирование своих комплексов наружу? Ну-ну