C语言第五题为什么c=19啊??
2个回答
展开全部
因为条件语句的条件计算:
a++<=35 为真,要执行下面的,
b-- <=2 为假,
所以 a++<=35 && b-- <=2 为假
接下来 是 &&,
假 && {无论什么} 都得假,所以 后面 的那项 c++ 被 略去,跳过,不执行。
这样,c 值不变, 还是初始化 时给的 19
a++<=35 为真,要执行下面的,
b-- <=2 为假,
所以 a++<=35 && b-- <=2 为假
接下来 是 &&,
假 && {无论什么} 都得假,所以 后面 的那项 c++ 被 略去,跳过,不执行。
这样,c 值不变, 还是初始化 时给的 19
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
逻辑与的短路
先判断a+= <= 25,此时a=25,满足<=25,此时a=26,
再判断b-- <= 2,此时b=14,不满足<=2,此时b=13;
这个时候,if语句括号内的内容已经为假,所以不再判断c++了,短路,直接跳过c++
执行后面的内容
c的值还是19
这题考点就是逻辑与的短路
逻辑或也会短路 || 有一个成立就不再判断后面的
先判断a+= <= 25,此时a=25,满足<=25,此时a=26,
再判断b-- <= 2,此时b=14,不满足<=2,此时b=13;
这个时候,if语句括号内的内容已经为假,所以不再判断c++了,短路,直接跳过c++
执行后面的内容
c的值还是19
这题考点就是逻辑与的短路
逻辑或也会短路 || 有一个成立就不再判断后面的
追问
先判断再加或者减是吧?
追答
a++,b--这个是先做别的运算,结束后,再a+1,b-1
++a,--b这个是先a+1,b-1,再做别的运算
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询