2010年10月5日 星期二

別以為你不會碰到 (1)

很多時候,問題都是出在空格上面

result = *x / *y;  //no problem

result = *x/*y;  //compile error

查了好久都不知道為什麼,後來發現… y 被當成多行注解,抹掉了

result = (*x) / (*y); //for your safety

其實有時候不是在寫公司的 code 很懶得去注意 style,上述的方法基本上是沒在用,只能說永遠記得,C 是 maximal munch strategy,你不把運算符切開,它一次就咬住最大口來分析代碼。

經典問題:

a = x+++y;

答案為下列何者?
1.
a = x+       ++y;

2.
a = x++     +y;

思考一下 :)