关于C语言基础问题

来源:百度知道 编辑:UC知道 时间:2024/05/14 15:01:22
#define i 1
#define j 2
#define M i+j
main()
{printf("%d",M*M);
}

为什么这个得出来的答案是5,而不是9?

应该是(i+j)

你那样写是
i+j*i+j
1+2*1+2
当然是5了

{printf("%d",M*M);
}
3*3=? 不是9吗??

M*M=i+j*i+j=1+2*1+2=5,缺少括号

因为展开后的式子是i + j * i + j是不是等于5了