我知道你可以從一個正常的功能Ç在這個代碼返回一個字符串從返回的#define功能的字符字符串
#include <stdio.h>
char* returnstring(char *pointer) {
pointer="dog";
return pointer;
}
int main(void)
{
char *dog = NULL;
printf("%s\n", returnstring(dog));
}
不過,我不能找到一種方法,能夠返回字符串中#define
功能,在此代碼
#include <stdio.h>
#define returnstring(pointer) { \
pointer="dog"; \
return pointer; \
}
int main(void)
{
char *dog = NULL;
printf("%s\n", returnstring(dog));
}
我知道有解決方法(如使用的第一個程序)。我只想知道它是否可能
簡短的回答:不能。不要混淆,類似宏函數不會像函數那樣表現。 –