C语⾔逗号运算符和逗号表达式基础总结
逗号运算符的作⽤:
1,起分隔符的作⽤:
定义变量⽤于分隔变量:int a,b
输⼊或输出时⽤于分隔输出表列 printf("%d%d",a,b)
2,⽤于逗号表达式的顺序运算符
c语言中逗号表达式的用法语法:表达式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
答案:D
解析:⾥⾯含有顺序运算符,⾸先计算a=3,然后b=a--,a的值先赋值给b,表达式的值为b,也就是x=b,然后a⾃减为2,所以x,a,b的值分别为3,2,3
答案:C
解析:先进⾏赋值 x=0 ,然后x+10,接着是x++,x先进⾏其他操作,也就是逗号运算符,然后再进⾏⾃增,所以结果为x=0.0

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。