崔铭1315 发表于 2020-8-2 13:36:51

我不知道这道题语句执行顺序是怎么回事?

若有一下程序段:
int a=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf("%d,%d,%d\n",a,b,c);

第二段这个执行顺序,有哪位朋友能具体说一下,我有点迷糊{:5_93:}



zltzlt 发表于 2020-8-2 13:40:13

首先运算 a - 5 等于 -5
之后 a -= -5 相当于 a += 5 结果为 5
之后 c = 5
之后 a = b 也就是 a = 0
之后 b + 3

永恒的蓝色梦想 发表于 2020-8-2 13:47:04

楼上正解

崔铭1315 发表于 2020-8-2 13:54:14

zltzlt 发表于 2020-8-2 13:40
首先运算 a - 5 等于 -5
之后 a -= -5 相当于 a += 5 结果为 5
之后 c = 5


请问b+3怎么理解{:5_92:}

zltzlt 发表于 2020-8-2 13:55:04

崔铭1315 发表于 2020-8-2 13:54
请问b+3怎么理解

就是得到 b 加上 3 的值,不对 b 进行更改

崔铭1315 发表于 2020-8-2 13:56:14

zltzlt 发表于 2020-8-2 13:40
首先运算 a - 5 等于 -5
之后 a -= -5 相当于 a += 5 结果为 5
之后 c = 5


b+3是等于3吗,如果是为什么不用b=b+3,如果不是,怎么理解{:5_102:}

崔铭1315 发表于 2020-8-2 13:57:43

zltzlt 发表于 2020-8-2 13:55
就是得到 b 加上 3 的值,不对 b 进行更改

就是不改变b的值吗,b+3是另一个数吗{:5_93:}

zltzlt 发表于 2020-8-2 13:58:18

崔铭1315 发表于 2020-8-2 13:57
就是不改变b的值吗,b+3是另一个数吗

是的
页: [1]
查看完整版本: 我不知道这道题语句执行顺序是怎么回事?