}私は予期せぬ結果を伴わずにプログラムをうまく実行します。1つのように見えますが、1つのタグは付けられていません。++の場合は、マクロではなくインライン関数を使用する必要があります。答えオペレータの優先順位の問題があります。マクロは文字通りテキストコピーとペーストとして展開されます。演算子の優先順位のために必要なものではありません。したがって、マクロ内のパラメータの周りに()を配置する必要があります。副作用も複数回適用されます。それは慎重になるべきことです。-Eでマクロ展開後の動作を確認することができます。bashrc源DAYCALCを変更する必要があります。zならば、内側の項は正しいでしょう。MONTH_LENGTH間違ったものではない。