c语言中!x||--y怎么运算
4个回答
展开全部
若x的值为0,则!x的值为-1(真),整个表达式的值便为真;
若x的值为非0,则!x的值为0(假),整个表达式的值就等于--y的结果:若y原值不等于1,则--y先自减后的值就非0(即--y为真);若原y==1,则--y先自减后的值就是0(即--y为假)。
整个式子:若x==0或y!=1,则表达式为真;否则为假。
若x的值为非0,则!x的值为0(假),整个表达式的值就等于--y的结果:若y原值不等于1,则--y先自减后的值就非0(即--y为真);若原y==1,则--y先自减后的值就是0(即--y为假)。
整个式子:若x==0或y!=1,则表达式为真;否则为假。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
!的优先级别最高,先做!,如果!X
是成立,整个表达式就一定成立,后面的--y就不会做,如果!X不成立,会做后面的--y
是成立,整个表达式就一定成立,后面的--y就不会做,如果!X不成立,会做后面的--y
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c语言中!是单目逻辑非运算符,从右至左结合,就是说先计算右边的表达式;>是关系运算符,从左至右结合。
在这个表达式中,由于!是从右至左结合,所以先计算表达式(z>y>x)的值,而由于括号内都是从左至右结合的运算符,所以就从左到右依次计算,先计算z>y,结果是真(1)或假(0),然后再用这个结果与x进行比较,结果是真(1)或假(0),然后再进行逻辑非运算,得到最终结果真(1)或假(0)。
在这个表达式中,由于!是从右至左结合,所以先计算表达式(z>y>x)的值,而由于括号内都是从左至右结合的运算符,所以就从左到右依次计算,先计算z>y,结果是真(1)或假(0),然后再用这个结果与x进行比较,结果是真(1)或假(0),然后再进行逻辑非运算,得到最终结果真(1)或假(0)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(x,y)
是逗号表达式,逗号表达式的值等于
最右边
那个表达式的值。
所以
(x,y)
的结果
是
y.
例如:
#include
main(){
int
x=1,y=2;
printf("%d",(x,y));
return
0;
}
输出结果
是
y
的当前值:
2
是逗号表达式,逗号表达式的值等于
最右边
那个表达式的值。
所以
(x,y)
的结果
是
y.
例如:
#include
main(){
int
x=1,y=2;
printf("%d",(x,y));
return
0;
}
输出结果
是
y
的当前值:
2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询