我正在查看其他人的代码,但无法获取以下语法

c = x<0 ? x = -x,'L':'R';


if(x) x--,putchar(c);

顺带一提,很明显,第一个变量c被赋值为'L'或'R';第二个变量x-和putchar()都被执行。但是逗号运算符的作用到底是什么?

最佳答案



在这种情况下,请进行代码混淆。最初的开发人员可能认为他们很聪明。

逗号运算符使您可以在单个语句中执行多个操作,但是使用2条语句几乎总是更好。在这些情况下,它扩展为:

if( x < 0 ) {
    x = -x;
    c = 'L';
} else {
    c = 'R';
}


if(x) {
    x--;
    putchar(c);
}

关于c++ - C++中逗号运算符的句法使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16724787/

10-10 14:23