c语言中关于逗号运算符的疑问!如果逗号两边的都不是赋值语句,如:printf( ”%d\n ” ,z

发布时间:2021-02-17 14:52:16

c语言中关于逗号运算符的疑问!如果逗号两边的都不是赋值语句,如:printf( ”%d\n ” ,z

网友回答

逗号表达式,按从左到又的顺序依次计算的,把最后一个表达式的值做为逗号表达式的值
所以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
以上问题属网友观点,不代表本站立场,仅供参考!