java 逗号运算符,C语言逗号运算符和逗号表达式基础总结

逗号运算符的作用:

1,起分隔符的作用:

定义变量用于分隔变量:int a,b

输入或输出时用于分隔输出表列 printf("%d%d",a,b)

2,用于逗号表达式的顺序运算符

语法:表达式1,表达式2,...,表达式n

表达式的值:表达式n的值

优先级:最低

运算顺序:左->右

例题总结

错题1

if(a>b, a>c) max=a;

else max=0;

t=(a=a+3,a/b,b+1,++c);

printf() 输出 max 和 t 的值

max=3, t=2

解析:因为if语句中是一个逗号表达式,所以先计算a>b,结果为0,需要注意到这里的逗号是运算符而不是分隔符,然后再计算a>c,结果为1。进入条件中,把a的值3赋值给max;然后计算t的值,需要注意到这里的逗号是运算符而不是分隔符a+3赋值给a,a=6,然后a/b得到1,然后b的值为4,++c先自增然后赋值,结果为2。

错题2

计算下面逗号表达式的值:

(a=2*4,a*5),a-3

在这个逗号表达式中,先计算括号内的值,从左到右,a被赋值为8,然后a*5是这个含括号的逗号表达式的值,然后在计算括号外的a-3,a-3等于5,所以说这个式子的结果为5.

注意分清一般表达式和赋值表达式。

错题3

这两个题目都是自增运算符与自减运算符和逗号运算符结合的题目,在测试中错了两道,

以i++为例:自增运算符的具体含义是:

1. 先进行i与其他运算符的运算

2.再执行i=i+1

8f1f03aeec85286b188fbb4f6542a45f.png

答案:D

解析:里面含有顺序运算符,首先计算a=3,然后b=a--,a的值先赋值给b,表达式的值为b,也就是x=b,然后a自减为2,所以x,a,b的值分别为3,2,3

86266f27024cc098c62c86fa22a29cf9.gif

a602e421b163d442009bf5d47bfd8123.png

答案:C

解析:先进行赋值 x=0 ,然后x+10,接着是x++,x先进行其他操作,也就是逗号运算符,然后再进行自增,所以结果为x=0.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值