鱼C论坛

 找回密码
 立即注册
查看: 2585|回复: 4

[已解决]关于逗号运算

[复制链接]
发表于 2023-9-29 17:06:49 | 显示全部楼层
在给变量赋值时使用逗号运算符,可以在同一语句中依次对多个变量进行赋值,并且整个表达式的结果是最后一个变量的值。

在给 ixy 赋初值时使用了逗号运算符:i = x = y = 0。这意味着 yx 会先被赋值为 0,然后 x 的值会被再次赋值为 y 的值(也是 0),而最后 i 的值也会被赋值为 0。这就解释了为什么 x 初始值为 0。

在循环体内部,x += i, i++ 是一个使用逗号运算符的表达式。逗号运算符会先计算左边的表达式 x += i,然后再计算右边的表达式 i++,并以 i++ 的值作为整个表达式的结果。所以,x += i, i++ 等价于 x += i; i++。这意味着 x 的值会先被增加 i 的值,然后再增加 1。

在每次循环时,++i 会使 i 的值增加 1。如果 i 是奇数(即 i % 2 为真),则 x += i 会使 x 的值增加 i 的值,然后 i 的值会增加 1。最后 y += i++ 也会使 y 的值增加 i 的值,但是 i 的值会再次增加 1。

循环继续执行直到 i 的值超过 7。循环结束后,i 的值为 8,x 的值为 1,y 的值为 24。所以输出的结果是 8 1 24

请注意,逗号运算符在一个语句中的使用要谨慎,以免造成代码难以理解和维护。在实际开发中,应尽量避免过多复杂的逗号运算符的使用,以提高代码的可读性。

希望这个解释对你有帮助!如果还有其他问题,请随时提问。
如果问题已经解决,请设置最佳答案
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-2 10:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表