C语言宏的基本使用

2019-02-17  本文已影响0人  黑夜no烟丝

先看一道练习题:

#include<stdio.h>

#define f(x) x*x  

int main()
{
    int m=6,n=3;
    int a=54;

    a/=f(m+n)/f(m+n);

    printf("%d\n",a);
    
    return 0;

}

这里让我们计算a的值,注意这里的宏替换,先替换再运算,注意顺序就不会弄错,这里的a/f(m+n)/f(m+n) 可以替换成a=a/(m+n*m+n),运算出来结果等于2。如果要整体替换记得在变量前面加上括号,像这样:

#include<stdio.h>

#define f(x) ((x)*(x))

int main()
{
    int m=6,n=3;
    int a=10;

    a/=f(m+n)/f(m+n);// a/=(m+n)*(m+n)

    printf("%d\n",a);
    
    return 0;

}


结果自然是a本身,a=10;

上一篇 下一篇

猜你喜欢

热点阅读