为什么&操作符只在变量中工作,而不在内联语句中工作
printf("%in",2&2==2);
这应该打印出一个 1 但我得到一个 0,这是为什么?
int ans=2&2;
printf("%in",ans==2);
这打印了一个 1,为什么第一种方法不起作用?if 语句也是这种情况
回答
操作顺序与您想象的不同。将其写在一行中的正确方法是:
printf("%in", (2 & 2) == 2); // Prints 1
printf("%in",2&2==2);
这应该打印出一个 1 但我得到一个 0,这是为什么?
int ans=2&2;
printf("%in",ans==2);
这打印了一个 1,为什么第一种方法不起作用?if 语句也是这种情况
操作顺序与您想象的不同。将其写在一行中的正确方法是:
printf("%in", (2 & 2) == 2); // Prints 1