나는 이런 식으로 할 수 있습니까?매크로에서 char * 변수의 값 사용
#include <stdio.h>
#define CAT2(a1, a2) #a1 ## ";" ## #a2
int main(void)
{
const char *ch1 = "1";
const char *ch2 = "2";
puts(CAT2(ch1, ch2));
}
출력 :
1, 2
그러나 현재 내가 가지고
CH1, 불행하게도 CH2
'##'의 사용법이 올바르지 않습니다. 이 연산자는 토큰을 문자열이 아닌 유효한 다른 토큰으로 연결하는 데 사용됩니다. 문자열 리터럴의 경우에는 이들을 조인 할 필요가 없으며 인접한 문자열 리터럴은 나중에 컴파일 단계에서 조인됩니다. –