我试图令人满意地解释这一点,但是当我调用一个函数时,我希望它实际上插入到我调用它的地方的主函数代码中,所以我可以保存输入它多次输出,但它直接影响主函数范围内定义的变量。实现这一目标的最佳途径是什么?
编辑:我应该说清楚我也希望它只需要一个参数。
答案 0 :(得分:3)
听起来你需要一个预处理器宏。这些不是真正的函数,但是在编译代码之前预处理器替换的代码块。例如,考虑一个简单的宏来增加数字:
#include <stdio.h>
#define INC(x) (x)++
int main() {
int a = 1;
INC(a);
INC(a);
printf("%d\n", a);
return 0;
}
文本INC(a)
将替换为a++
,因此运行此程序将打印出3(两个增量后的1)。