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,438
  • 68
  • 55
  • 126
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
  • 74,635
  • 5
  • 99
  • 170
Z. Denys
  • 1
  • 1