• #define fun() do {a***; b***;} while(0)在if语句后的用法探讨


    #define fun() do {a***; b***;} while(0)
    1. 在if语句之后,如果没有do {} while(0),就是#define fun() a***; b***;
    那么只有a***; 与if结合,而b***; 就没啥用了

    2. 如果没有do while(0),但是{}保留,就是#define fun() {a***; b***;}
    那么在if语句之后,由于程序员通常的习惯
    if ()
    fun();
    else
    fun2();
    将变成
    if ()
    {a***; b***;};
    else
    fun2();
    那么会产生编译错误,因为if后面已经出现了2个语句,1个是{a***; b***;},1个是;

  • 相关阅读:
    关押罪犯
    食物链
    归并排序(分治)
    并查集+路径压缩
    3的幂的和
    斐波那契数列的第N项
    0和5
    扔盘子
    线段相交
    回文字符串
  • 原文地址:https://www.cnblogs.com/lihaozy/p/2295995.html
Copyright © 2020-2023  润新知