0

I try save variable name like this:

#define TEST someVariable
#define makeString(x) #x

int main(int argc, char *argv[])
{
    char TEST[] = makeString(TEST);
    printf("%s    %s\n", TEST, makeString(TEST));
    return 0;
}

Output is :

appden4ik@appDen4ik:/opt/preprocessor/Debug$ ./preprocessor 
TEST    TEST'

I want next output:

someVariable      someVariable

Where I am wrong?

Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
Z. Denys
  • 1
  • 1

1 Answers1

0
#include <stdio.h>


#define TEST variable
#define makeStr(x) #x
#define makeString(x) makeStr(x)

int main(int argc, char *argv[]) {
    char TEST[] = makeString(TEST);
    printf("%s    %s\n", TEST, makeString(TEST));
    return 0;
}

this helps

Jens Gustedt
  • 76,821
  • 6
  • 102
  • 177
Z. Denys
  • 1
  • 1