C语言为了更快的运行,在设计上有一些特性必须注意:
1.短路原则:在&&和||运算之中,例如下面的语句,它们不会做逻辑运算符右边的操作。
0 && a = 2;//这条语句不会执行a = 2这个操作。
在判断出左边为0的情况下,c语言的“逻辑与“操作就直接不去执行右边。直接给出结果为0.
1 || b += 1;//同样,它的右边不会被执行。
在判断出左边为1的情况下,c语言的“逻辑或“操作就直接不去执行右边。直接给出结果为1.
2.sizeof()操作符: 在该操作符内的一些运算无法被执行。例如:
i = 1; sizeof(i++); //执行完之后i的值仍然是1. //但这种技术性很强的写法不建议使用。 sizeof(i = 3); //同样,执行完之后,i仍然是1.暂时就想起这么多。