
设 int x=1, y=1; 表达式(!x||y--)的值是
展开全部
1、先算!x,结果为0;
2、再算y--,结果为1,y的值变为0;
3、再算逻辑或||,0或1,结果为1。所以最后结果为1
优先级:自减运算符>逻辑非运算符>逻辑或。
基本的优先级需要记住:
指针最优,单目运算优于双目运算,如正负号。
先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))&7。
逻辑运算最后结合。简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符。
扩展资料:
int函数
在一般的电脑中,int占用4字节,32比特,数据范围为-2147483648~2147483647[-2^31~2^31-1];
在之前的微型机中,int占用2字节,16比特,数据范围为-32768~32767[-2^15~2^15-1];
使用printf输出int占用字节数量:
printf("%d",sizeof(int));
除了int类型之外,还有short、long、long long类型可以表示整数。
unsigned int 表示无符号整数,数据范围为[0~2^32-1]。
参考资料来源:百度百科-INT (取整函数Int())
展开全部
先!x如果为1后面的就不要看了,现在为0。然后看y,y--,但取--前的值,为1,所以结果为真。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1
先判断y是否大于0,再y--;
先判断y是否大于0,再y--;
追问
能详细解答一下吗?我懂得比较少、、
追答
x即x是否不为为零
!取反,false变成true,true变成false
因为x=1,所以是true,!x是false
|| 是“或”,左边和右边只要有true,结果就是true
y--是先判断y是否大于零再让y-1;
所以结果的是true
true就是1,false就是0
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询