我一直在努力編寫一些預處理宏,在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