逗号表达式

一.简介

c语言提供一种特殊的运算符,逗号运算符,优先级别最低,将两式联接起来。
例1:(1+2,3+4)称为逗号表达式,其求解过程先表达式1(1+2),后表达式2(3+4),整个表达式值是表达式2的值,结果是7。
例2:(a = 1 * 2, a * 3)的结果是6,a为2。
赋值运算优先级高于逗号表达式

逗号表达式的要领:

  1. 从左到右逐个计算;
  2. 它的值为最后一个表达式的值;
  3. 逗号表达式的优先级别在所有运算符中最低。

二.题目类型

1.求实参个数

题目:func(rec1,rec2+rec3,(rec4,rec5));
该函数调用语句中,含有的实参个数是
A)3  B)4 C)5 D)有语法错误

答案:A
分析:c语言规定,函数调用时实参与实参之间是用逗号隔开的,所以,本题的函数调用语句中包含3个实参,第一个实参是rec1,第二个实参是rec2+rec3,第三个实参是(rec4,rec5),这里的第三个实参就是一个逗号表达式,根据逗号表达式的运算规则,第三个实参的值应该等于rec5的值。

2.求值
题目:(a = 3,b = 5,b+ = a,c = b * 5),求逗号表达式的值?

答案:40。
分析:前两个表达式只是赋值,从第三个开始计算,b+=a,即b=5+3,b=8。最后一个表达式,c=b * 5=8 * 5=40。因为逗号表达式的值是最后一个表达式的值,所以整个逗号表达式的值为40。
其他各变量最后的值依次为:a=3,b=8,c=40。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

你脸上有BUG

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

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

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

打赏作者

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

抵扣说明:

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

余额充值