执行c语言语句"int a=3,b=4,c;c=a++>3||--b<4;"后变量C的值
1个回答
展开全部
C=1;
题目考点为
各
运算符的优先级,及执行方向。
题目中,前缀自减、后缀自增的运算符等级
高于
判断运算符
大于、小于的等级,而
判断运算符又
高于
逻辑运算符
逻辑或(||)
的等级,而逻辑运算符的等级又高于
赋值运算符(=)的等级,所以结果,式子是这样滴:
c=((a++)>3)
||((--b)<4);
执行方向及顺序:
上面的式子,其结构如:c=
X
||
Y;逻辑或的执行方向为
从左往右,先执行
X部分,就是(a++)>3,a++为后缀自增加,再语句结束后,才会进行自增加。也就是说,此时,a没有加,还是3;a>3不成立。即a>3
结果为
假的,=0;
X部分为0,不能判断
X
||Y
的结果,所有还得执行
Y部分,(--b)<4,--b为前缀自减,语句执行时,先减1,后运行。所以,此时b已经减1,b=3;b<4成立,即b<4
结果为
真的,=1;
最后
c=0
||1=1;
题目考点为
各
运算符的优先级,及执行方向。
题目中,前缀自减、后缀自增的运算符等级
高于
判断运算符
大于、小于的等级,而
判断运算符又
高于
逻辑运算符
逻辑或(||)
的等级,而逻辑运算符的等级又高于
赋值运算符(=)的等级,所以结果,式子是这样滴:
c=((a++)>3)
||((--b)<4);
执行方向及顺序:
上面的式子,其结构如:c=
X
||
Y;逻辑或的执行方向为
从左往右,先执行
X部分,就是(a++)>3,a++为后缀自增加,再语句结束后,才会进行自增加。也就是说,此时,a没有加,还是3;a>3不成立。即a>3
结果为
假的,=0;
X部分为0,不能判断
X
||Y
的结果,所有还得执行
Y部分,(--b)<4,--b为前缀自减,语句执行时,先减1,后运行。所以,此时b已经减1,b=3;b<4成立,即b<4
结果为
真的,=1;
最后
c=0
||1=1;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询