7
這是錯誤的代碼錯誤粘貼「」 HELLO「」和「」世界「」沒有給出一個有效的預處理標記
#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);
你是指什麼「一個令牌」?我如何與預處理器進行連接? – trucos
@trucos:閱讀答案的最後一句。在這裏真的不需要一個宏;編譯器已經爲你連接了。 – cHao
如果我不想要一個宏,我不會問,我的問題是如何使用宏=)。也許這是不可能的 – trucos