逗号运算符加括号和不加括号,逗号运算符加括号和不加括号
http://www.itjxue.com 2023-01-18 07:44 来源:未知 点击次数:
c语言中关于逗号运算符的疑问!
逗号表达式,按从左到又的顺序依次计算的,把最后一个表达式的值做为逗号表达式的值
所以
printf( ”%d\n ” ,z=(x%y,x/y)) ;
中,z的值就是x/y的值即10/3=3;
a=0;b=0;c=0;
c=(a-=a-5),(a=b,b+3)
而在这c=(a-=a-5)这是一个赋值表达式,作为这个逗号表达式的第一个表达式,而a-=a-5,等价于a=a-(a-5)=0-(0-5)=5
所以c=5
c语言逗号表达式 是不是所有的逗号表达式在做赋值时都得加括号 不然就认为是赋值为第一个表达式的值
不是,逗号表达式是取最后一个值作为表达式的值,不加括号的话,
y=4,5; 结果y=4,表示逗号表达式元素是y=4和5;
y=(4,5);结果y=5,逗号表达式元素是4和5.
c语言,逗号表达式要带括号吗?为什么书上的逗号表达式都带括号?
括号内加逗号的表达式属于逗号表达式,逗号表达式的规则是从左往右依次执行语句,并返回最后一个语句的结果,如果计算到最后最后一个表达式的值为真,则整个逗号表达式为真,否则为假。