in the C language, separating two strings with space as in “s” “1” is exactly equivalent to having a single string “s1”. Remember, only literal strings will do this. This does not work for variables.
String literals can be concatenated by the compiler i.e. if you write “abc” “123” then the compiler will treat this as “abc123”. And when you do this in the macro, the preprocessor means that this is exactly what is sent to the compiler
e.g.
1 2 3 4 5
#define STR3 STR1 STR2 // become #define STR3 "s" "1" // then STR3 "s1"