C言語クイズ解答 - マクロ
2014蟷エ10譛医h繧雁倶ココ縺ョ譁ケ繧貞ッセ雎。縺ォ縲ヾtudy C辟。譁呎署萓帙r髢句ァ九@縺セ縺励◆縲
C險隱槭r蜍牙シキ荳ュ縺ョ譁ケ縺ッ縲∝ュヲ鄙偵サ謨呵ご縺ォ譛驕ゥ縺ェC險隱槭う繝ウ繧ソ繝シ繝励Μ繧ソ縺ョStudy C繧剃スソ縺」縺ヲ縺ソ縺ヲ縺上□縺輔>(蛟倶ココ縺ョ譁ケ縺ッ辟。譁吶〒縺)縲
螟ァ蟄ヲ繝サ鬮伜ーゅサ鬮俶。縺ェ縺ゥ縺ョ謨呵ご讖滄未縺ァ縺ョ謗。逕ィ螳溽クセ繧ょ、壽焚縺ゅk繝ュ繝ウ繧ー繧サ繝ゥ繝シ蝠蜩ヾtudy C縺後∝倶ココ蜷代¢縺ォ辟。譁呎署萓帙r蟋九a縺セ縺励◆縲
繧、繝ウ繧ソ繝シ繝励Μ繧ソ縺ョ謇玖サス縺輔↓蜉縺医√ご繝シ繝繧3D繧ソ繝シ繝医Ν繧ー繝ゥ繝輔ぅ繝繧ッ縺ァ讌ス縺励¥蜍牙シキ縺励◆繧翫→縲,險隱槭ョ蟄ヲ鄙偵r蠑キ蜉帙↓繧オ繝昴シ繝医@縺セ縺吶
縺セ縺溘√%縺ョ繧医≧縺ェ繝懊ち繝ウ縺ョ逕ィ諢上&繧後※縺繧九壹シ繧ク縺ァ縺ッ縲∵軸霈峨@縺ヲ縺繧九励Ο繧ー繝ゥ繝繧担tudy C縺ォ逶エ謗・繝ュ繝シ繝峨@螳溯。後@縺溘j縺吶k縺薙→縺後〒縺阪∪縺吶
Study C辟。譁吝茜逕ィ縺ォ縺、縺縺ヲ縺ョ隧ウ邏ー縺ッ縲√%縺ョ繝壹シ繧ク繧貞盾辣ァ縺励※縺上□縺輔>縲
#define CACL(x) x * 3 + 4 n = 1; printf("%d\n", CALC(n+2));
#define CACL(x) (x) * 3 + 4マクロを使用すると思わぬところで(...)の問題に遭遇することがあります。 このようなことがないようにマクロの引数はすべて(...)で囲んでしまうとよいでしょう。
例) #define CACL(x, y, z) (x) * 3 + 4 + (y) + (z)