逗号运算符加括号和不加括号,逗号运算符加括号和不加括号

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语言,逗号表达式要带括号吗?为什么书上的逗号表达式都带括号?

括号内加逗号的表达式属于逗号表达式,逗号表达式的规则是从左往右依次执行语句,并返回最后一个语句的结果,如果计算到最后最后一个表达式的值为真,则整个逗号表达式为真,否则为假。

(责任编辑:IT教学网)

更多

相关其他源码文章

推荐其他源码文章