(C)在main中模拟代码块的函数

时间:2016-10-05 20:32:51

标签: c

我试图令人满意地解释这一点,但是当我调用一个函数时,我希望它实际上插入到我调用它的地方的主函数代码中,所以我可以保存输入它多次输出,但它直接影响主函数范围内定义的变量。实现这一目标的最佳途径是什么?

编辑:我应该说清楚我也希望它只需要一个参数。

1 个答案:

答案 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)。