If a=1, b=2, c=3… I would like to write a macro which concatenates them like this 123.
But when I try this:
#include<stdio.h>
#define cat(a,b,c) a##b##c
int main()
{
int a=1,b=2,c=3,d;
d=cat(1,2,3); //Works
d=cat(a,b,c); // Returns an error...How to make this work?
return 0;
}
You can’t — the preprocessor has no idea about variables and what values you’re going to assign to them when the program runs at some arbitrary time after the preprocessor has finished executing.