我通过Code :: Blocks运行了它,并向我显示了最终答案1.然后在“ i = i-2 * TWO”语句中替换两个,为什么这样?
该代码是我要解决/理解的一项家庭作业的一部分:
#include <stdio.h>
#define ONE 1
#define TWO ONE + ONE
int main(void) {
int i = 2;
i = i - 2 * TWO;
printf("%d\n", i);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
自己进行替换。
i = i - 2 * TWO;
Run Code Online (Sandbox Code Playgroud)
是
i = i - 2 * ONE + ONE;
Run Code Online (Sandbox Code Playgroud)
所以你有了
i = 2 - 2 * 1 + 1;
Run Code Online (Sandbox Code Playgroud)
所以我将得到值1。
如果您想获得等于-2的结果,请像这样重写宏
#define TWO ( ONE + ONE )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56 次 |
| 最近记录: |