谨慎使用分号

用分号小心。下面的例子

if (x > a);
   a = x;

实际上是指:

if (x > a) {}
a = x;

这意味着 x 将被分配给 a,这可能不是你原本想要的。

有时,错过分号也会导致一个不明显的问题:

if (i < 0) 
    return
day = date[0];
hour = date[1];
minute = date[2];

错过了返回后面的分号,因此将返回 day = date [0]。

避免这种和类似问题的一种技术是始终在多线条件和循环上使用大括号。例如:

if (x > a) {
    a = x;
}