为什么运算符只适用于变量而不适用于内联语句

printf("%i\n",2&2==2);

这应该会打印出一个1,但我得到了一个0,为什么会这样?

int ans=2&2;
printf("%i\n",ans==2);

这打印了一个1,为什么第一种方法不起作用?if语句也是如此。

转载请注明出处:http://www.hnlovelyyears.com/article/20230526/1251186.html