逗号表达式详解

逗号表达式是编程中的一个概念,它按照从左到右的顺序执行每个子表达式,最终结果为最后一个表达式的值。这种表达式的优先级最低。文中通过示例解释了如何计算逗号表达式的结果,例如涉及变量赋值和运算符优先级的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

逗号表达式

基本形式

exp1,exp2,exp3,……expN

基础概念

  • 逗号表达式:就是用逗号隔开的多个表达式
  • 从左向右依次执行,整个表达式的的结果就是最后一个表达式的结果

运算优先级

在所有的运算符中,逗号表达式的优先级最低

例子

Eg1:

int a = 1;
int b = 2;
int c = (a > b, a = b + 10, a, b = a + 1);
//c的值为?
  • 第一个表达式 a > b结果为0
  • 第二个表达式结果为12,a的值变为12
  • 第三个表达式结果为1
  • 最后一个表达式结果为b = a + 1 = 12 + 1 = 13
  • 故c的值为13

Eg2:

int a = 1;
int b = 2;
int c = (++a, a += b++, a++);
//a,b,c的值各为多少?
  • 第一个表达式为前置++,故值为2,a的值变为2
  • 第二个表达式,b++为后置++,故(a += b++) == (a = a + b),表达式的结果为4,a的值变为4,b的值变为3
  • 最后一个表达式,为后置++,故结果为a = 4,a的值变为5
  • 因此,a = 5, b = 3, c = 4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Forward♞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值