define中为何经常会使用 do{ } while(0);来包装多条语句代码

do{}while(0)的目的是为了在 for 循环和 if 语句时,避免出现下面的情况

         #define xxx  i++; i--;

         for (I = 0 ; I < 10; I ++) xxx;展开后变为

         for ( I = 0 ; I < 10; I ++ ) I ++; I--;

(对define中do{}while(0)的理解)

 

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐