Ошибка вставки «HELLO» и «WORLD» не дает допустимого токена предварительной обработки

Это ошибочный код

#include<stdio.h>

#define CAT_I(A, B)         A ## B
#define CAT(A, B)           CAT_I(A,B)

void main (void)
{
        printf(CAT("HELLO","WORLD"));
}

Почему выдает ту ошибку? Как я могу это исправить?

РЕДАКТИРОВАТЬ

Это то, что я пытаюсь сделать

#define TAG                   "TAG"
#define PRE                   CAT(CAT("<",TAG),">")  
#define POS                   CAT(CAT("</",TAG),">") 

#define XML      CAT(CAT(PRE,"XML SOMETHING"),POS)   

, затем

printf(XML); 
7
задан Brian Tompsett - 汤莱恩 15 April 2016 в 22:32
поделиться