int a=5,b=2,c=1; printf("%d",a-b<c||b==c); 值为什么是0
1个回答
展开全部
a-b<c||b==c
在这个式中减号运算符最高,其次是<,==,||
a-b=5-2=3
3小于c?c=1,显然不小于,结果a-b<c值为0
然后计算,等于运算符==
b等于c吗?(2=1)显然b≠c,所以b==c结果为0
最后是或运算符||
0||0的值为0
所以结果为0
-----------------C语言中运算符优先级--------------------------
1级(左结合)
()
圆括号;[]下标运算符;->指向结构体成员运算符;.
结构体成员运算符。
2级(右结合)
!逻辑非运算符;~按位取反运算符;++前缀增量运算符;--前缀减量运算符;+正号运算符;-负号运算符;(类型)类型转换运算符;*指针运算符;&地址运算符;sizeof长度运算符。
3级(左结合)
*乘法运算符;/除法运算符;%取余运算符。
4级(左结合)
+加法运算符;-减法运算符。
5级(左结合)
<<左移运算符;>>右移运算符。
6级(左结合)
<、<=、>、>=关系运算符。
7级(左结合)
==等于运算符;!=不等于运算符。
8级(左结合)
&按位与运算符。
9级(左结合)
^按位异或运算符。
10级(左结合)
|按位或运算符。
11级(左结合)
&&逻辑与运算符。
12级(左结合)
||逻辑或运算符。
13级(右结合)
?
:条件运算符。
14级(右结合)
=、
+=、
-=、
*=、
/=、
%=、
&=、
^=、
|=、
<<=、
>>=赋值运算符。
15级(左结合)
,逗号运算符。
在这个式中减号运算符最高,其次是<,==,||
a-b=5-2=3
3小于c?c=1,显然不小于,结果a-b<c值为0
然后计算,等于运算符==
b等于c吗?(2=1)显然b≠c,所以b==c结果为0
最后是或运算符||
0||0的值为0
所以结果为0
-----------------C语言中运算符优先级--------------------------
1级(左结合)
()
圆括号;[]下标运算符;->指向结构体成员运算符;.
结构体成员运算符。
2级(右结合)
!逻辑非运算符;~按位取反运算符;++前缀增量运算符;--前缀减量运算符;+正号运算符;-负号运算符;(类型)类型转换运算符;*指针运算符;&地址运算符;sizeof长度运算符。
3级(左结合)
*乘法运算符;/除法运算符;%取余运算符。
4级(左结合)
+加法运算符;-减法运算符。
5级(左结合)
<<左移运算符;>>右移运算符。
6级(左结合)
<、<=、>、>=关系运算符。
7级(左结合)
==等于运算符;!=不等于运算符。
8级(左结合)
&按位与运算符。
9级(左结合)
^按位异或运算符。
10级(左结合)
|按位或运算符。
11级(左结合)
&&逻辑与运算符。
12级(左结合)
||逻辑或运算符。
13级(右结合)
?
:条件运算符。
14级(右结合)
=、
+=、
-=、
*=、
/=、
%=、
&=、
^=、
|=、
<<=、
>>=赋值运算符。
15级(左结合)
,逗号运算符。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询