If your preprocessor supports variadic macros, __VA_ARGS__
will do the trick:
#define CAKE , something
#define MAKE_STRING(...) #__VA_ARGS__
#define STRING(x) MAKE_STRING(x)
#include <stdio.h>
int main()
{
printf("%s\n", STRING(CAKE) );
}