HOMELv049 assertマクロの引数に副作用のある式(例:assert(i++ > 0))を書くべきでない理由はどれか。 2026年1月24日 NDEBUG定義時に式自体が評価されなくなるためが正しい。 C言語において、構造体同士を == 演算子で直接比較することはできるか。 複数行のマクロを定義する際、do { … } while(0) で囲む主な理由はどれか。