碰到个C语言宏的计算问题,求大佬指点..
题:
#include <stdio.h>
#define M 2<3 ? 5:6
int main() {
int i=3, j, k;
j=i+M;
k=i+(M);
printf("%d,%d\n", j, k);
return 0;
}
答案是6,8,为什么是6,8啊? M是5,i是3,第一个应该是8啊,为什么会是这个结果呢?
碰到个C语言宏的计算问题,求大佬指点..
题:
#include <stdio.h>
#define M 2<3 ? 5:6
int main() {
int i=3, j, k;
j=i+M;
k=i+(M);
printf("%d,%d\n", j, k);
return 0;
}
答案是6,8,为什么是6,8啊? M是5,i是3,第一个应该是8啊,为什么会是这个结果呢?
题目本身已经提示的很明显了吧,就差把答案直接告诉你了!