What does symbol # means in #define S(x) (cout<<#x<<endl) [duplicate]

Solution 1:

It causes the expanded x to be wrapped in double quoates, "

It's often called the stringize operator and you can find more information here.