スポンサーリンク

関数マクロの変数はカッコ()を付けたほうが良い

参考:[c言語]nビット目を取得するマクロ(サンプルコード)

例えば、下記の関数マクロがあったとします。

関数マクロの変数にカッコを付ける

関数マクロの変数にカッコを付けない

ここで、下記のように、関数マクロの引数を設定したとします。

下記の結果は36、4 ✕ 9 = 36

下記の結果は28、3 ✕ 9 + 1 = 28となります。

おそらく、普通は、MULTI_1(1 + 3, 9)を4 ✕ 9 = 36の計算結果を期待するのではないでしょうか?
特別な用途が明確でない場合には、関数マクロの変数にカッコを付けたほうが良いと思っています。

スポンサーリンク

サンプルコード

下記がサンプルコードになります。

下記が実行結果になります。

スポンサーリンク