使用逗号或分号分隔代码行有什么区别?

时间:2016-02-19 18:34:07

标签: objective-c xcode

感觉这是一个非常愚蠢的问题,但我刚看到一些代码行以逗号结尾,''并且 XCode 没有抱怨预期&#39 ;;'

所以我被骗了:

    float a = 1.0;
    float b = 2.0;
    float c = 3.0;

    a = b, //comma here
    c = 4.0;

    NSLog(@"%f %f %f",a,b,c);

结果是日志是正确的,但我想知道是否存在差异,因为我有时(很少)在键入分号时似乎错过了shift键。

我已阅读此Use of commas versus semicolons in JavaScript?但它是关于javascript的,我不确定它是否也适用于此。

1 个答案:

答案 0 :(得分:1)

它是C comma operator。它评估两个操作数并返回第二个结果,但在a = b, c = 4.0的情况下,它将a设置为等于bc等于4.0