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

这个代码为何冒号左右的i++都被执行了,求教
2024-11-28 21:47:50
推荐回答(2个)
回答1:

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

回答2:

符的一个问题