Try manual preprocessing:
CAT
should take 2 input variables and print them one by one with a space between them. So ... if we pre-process your code, it will become:
void main()
{
char *string_1 = "s1", *string_2 = "s2";
printf("s1" "s2");
printf(string_1 string_2);
}
While "s1" "s2"
automatically merging with the "s1s2"
compiler, string_1 string_2
.