这个第一张图是原理,后面是举的例子改怎么去运算,可是我还是不清楚是运算步骤的话怎么能判断真假呢,怎么知道那些要运行,哪些不用呢
![](https://profile-avatar.csdnimg.cn/default.jpg!4)
后面是那种运算步骤的话该怎么判断是真是假,是否要进行下一步呢
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- X-道至简 2022-10-16 17:02关注
从上面2个例子来说明下:
- a=10;b=20;c=30;
a = (--b)<=a || (a+b !=c) a+b是算术运算符 ,<=是关系运算符, a=是赋值运算符(优先级最低)
|| 按照原理图是 只要前面有一个为真后面就不计算了
我们改写下上面的算式
a = a1 || a2 a1 = (--b)<=a , a2 = (a+b !=c)
先计算a1为假,所以还要计算a2,a2里面先计算算术运算 a+b, 在算关系运算比较 != c 结果为1
就是这样一步一步分解下来 - x=-1
++x || (++x && ++x)
改写为
a1 || (a2 && a3) a1 = a2 = a3 = ++x, ++操作可以认为特殊的算术运算
接下来就是计算:
a. 按照 || 的原理,先计算算术运算a1=++x=0,在算关系运算 a1!=0 ,是0!=0结果0是假
b. 因为a1是假,需要计算后面的a2和a3,又因为是 &&,所以a2,a3都要算
c. a2和a3先计算算术运算a2=++x,a3=++x 算出 a2=a3=2
d. 最后计算逻辑运算 a2 && a3的逻辑运算 2&&2 结果为1
最终结果 0||1 = 1
总结,就是按照第一张图可以把运算一步一步分解下来, 算术运算> 关系运算 > &&和|| > 赋值运算
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 - a=10;b=20;c=30;
悬赏问题
- ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
- ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
- ¥15 特定网页无法访问,已排除网页问题
- ¥50 如何将脑的图像投影到颅骨上
- ¥15 提问一个关于vscode相关的环境配置问题,就是输入中文但是显示不出来,代码在idea可以显示中文,但在vscode不行,不知道怎么配置环境
- ¥15 netcore使用PuppeteerSharp截图
- ¥20 这张图页头,页脚具体代码该怎么写?
- ¥15 关于#sql#的问题,请各位专家解答!
- ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
- ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂