周云成 发表于 2021-12-12 20:25:04

第10个课后作业,第五题题目错误

请描述表达式 a < b && c < d 的求值顺序(先求什么、再求什么、最后求什么)
#include <stdio.h>

int main()
{
      int a = 0, b = 1, c = 2, d = 3;

      a > b && c < d;

      return 0;
}

jhq999 发表于 2021-12-12 20:35:54

先算a>b然后c<d,最后&&
257:         if(a > b && c < d)a=b=c=d;
00132244 8B 45 F4             mov         eax,dword ptr
00132247 3B 45 E8             cmp         eax,dword ptr
0013224A 7E 1A                jle         my_delete+16h (0132266h)
0013224C 8B 45 DC             mov         eax,dword ptr
0013224F 3B 45 D0             cmp         eax,dword ptr
00132252 7D 12                jge         my_delete+16h (0132266h)
00132254 8B 45 D0             mov         eax,dword ptr
00132257 89 45 DC             mov         dword ptr ,eax
0013225A 8B 4D DC             mov         ecx,dword ptr
0013225D 89 4D E8             mov         dword ptr ,ecx
00132260 8B 55 E8             mov         edx,dword ptr
00132263 89 55 F4             mov         dword ptr ,edx

wp231957 发表于 2021-12-12 20:36:30

单独一个表达式没有意义

小亦003 发表于 2021-12-12 20:49:32

本帖最后由 小亦003 于 2021-12-12 20:53 编辑

这个是用来判断的,先判断a是否大于b5及c是否大于d,再判断两者的逻辑与(&&)

jackz007 发表于 2021-12-13 01:22:09

本帖最后由 jackz007 于 2021-12-13 01:33 编辑

       第一步,先求 a < b 的值,由于 a < b 为真,整个表达式的值并不能因此而得到确定,所以,还需要有第二步,继续求取 c < d 的值,最后才是第三步,根据 c < d 的值,确定 a < b && c < d 的值。
       假如 a < b 的值为假,则整个表达式的值足可以被锁定为假,就不再需要第二步和第三步了。

周云成 发表于 2021-12-13 20:57:41

jackz007 发表于 2021-12-13 01:22
第一步,先求 a < b 的值,由于 a < b 为真,整个表达式的值并不能因此而得到确定,所以,还需要有 ...

ok

周云成 发表于 2021-12-13 20:58:18

小亦003 发表于 2021-12-12 20:49
这个是用来判断的,先判断a是否大于b5及c是否大于d,再判断两者的逻辑与(&&)

嗯嗯,记记

周云成 发表于 2021-12-13 20:58:49

wp231957 发表于 2021-12-12 20:36
单独一个表达式没有意义

好的

周云成 发表于 2021-12-13 20:59:51

jhq999 发表于 2021-12-12 20:35
先算a>b然后c

这个是debug吗。。

周云成 发表于 2021-12-13 21:04:15

jhq999 发表于 2021-12-12 20:35
先算a>b然后c

{:5_99:}看不懂。。这个c语言我学的第三遍了。。每次都会在指针的部分放弃。。这次一定坚持下去

jhq999 发表于 2021-12-13 21:14:43

周云成 发表于 2021-12-13 21:04
看不懂。。这个c语言我学的第三遍了。。每次都会在指针的部分放弃。。这次一定坚持下去

指针就是内存地址有啥难的?

jhq999 发表于 2021-12-13 21:15:53

周云成 发表于 2021-12-13 20:59
这个是debug吗。。

反编译

周云成 发表于 2021-12-13 21:40:42

jhq999 发表于 2021-12-13 21:14
指针就是内存地址有啥难的?

真实,,其实就是我没好好学,
页: [1]
查看完整版本: 第10个课后作业,第五题题目错误