我一直在努力编写一些预处理宏,在C帮助我的工作。宏功能指针问题
# define printSTRING(s) printf(# s " has the value"); \
for(; *s != '\0'; s++) \
printf(*s); \
getch();
我收到错误:C2105: '++' needs l-value
当我打电话printSTRING(Payload);
其中Payload
是char Payload[] = "wjdoidnjdeioejneiodejndo";
我认为它没有看到Payload
作为一个字符指针,但我不知道如何解决这个问题。
预处理程序没有指针等的概念,它只是替代和扩展宏。找出这个宏扩展到什么地方(如果你使用GCC,使用'-E'标志)。 – 2012-07-11 20:13:03
数组不是指针。 – 2012-07-11 20:13:56