关于C语言三目运算符的一个问题

这个代码为何冒号左右的i++都被执行了,求教
2024年11月28日 21:47
有2个网友回答
网友(1):

逗号表达式的优先级在C语言中最低,甚至低于三目运算符。
这意味着你的表达式实际上是(*a!=',' ? i++, a++: a++), i++;
最后那个i++并不是三目运算符的一部分,它无论如何都会被执行。
你应该加上括号:*a!=',' ? (i++,a++) : (a++,i++);

网友(2):

符的一个问题