打印

[求助] c语言求助

c语言求助

#include "stdio.h"
main()
{
int x = 1, y = 2;
if(x++>y++ && x++>y--);
printf("%d,%d",x,y);
}





#include "stdio.h"
main()
{
int x = 1, y = 2;
if(x++>y++ & x++>y--);
printf("%d,%d",x,y);
}




这个& 和&& 的区别 和怎么来求X,Y 这2个值

TOP

先赋值后计算.

TOP

&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and).
考完试鸟,心力憔悴呀~~~~接下来,准备补考

TOP

3楼正解~~~~~~~~
可以保护想要保护的人!可以面对必须面对的事!

TOP

如果遇到逻辑与&&,只看&&前x和y自加或自减后的值,如果遇到按位与&,&前后的x和y的自加或自减都要考虑进去,看最后得到的值。例如第一个程序,只看&&前的x自加一次,y自加一次,所以x=2,y=3;第二个程序&的前后x自加两次,y自加一次,自减一次,所以x=3,y=2。

TOP

提示: 作者被禁止或删除 内容自动屏蔽

TOP

由于
第一个程序:x++>y++运算之后结果为2>2...执行与运算的话为0了。。。。
那么&&后面的不用计算了!!!!
所以printf结果输出为2,3

第二个程序是 为运算。。所以&两边都计算了!!!
结果当然就输出为3,2了啊!!!!

TOP