827*_*827 2 c macros pointers function parentheses
我有这个代码:
#include <stdio.h>
int getAns(void);
int num;
int main()
{
int (*current_ans)(void);
current_ans = &getAns;
// HERE
printf("%d", current_ans());
}
int getAns()
{
return num + 3;
}
Run Code Online (Sandbox Code Playgroud)
但是,是否有可能在// HERE现场允许下一行以printf("%d", current_ans);环形方式访问getAns()?
虽然我同意皮尔的答案,但是
#define current_ans current_ans()
Run Code Online (Sandbox Code Playgroud)
将使代码非常难以理解
我怀疑你不能,因为()有必要告诉编译器它是一个函数调用.但是,如果你真的想这样做,你可以这样做:
#define current_ans current_ans()
Run Code Online (Sandbox Code Playgroud)