這不是bug,而是語言特性
阿新 • • 發佈:2017-05-14
ima you clas 技術 技術分享 initial logs 做了 class
分析編程語言缺陷的一種方法是把所有的缺陷歸於3類:不該做的做了,該做的沒做,該做但做得不合適。
在使用switch case時,如果使用缺省的 fall through,請一定在旁邊註釋,因為97%的情況需要使用break,break跳出的是最近的那層循環或者switch語句。
下面代碼,第一次調用和之後調用會出現不同:
1 #include<stdio.h> 2 3 void generate_initializer(const char * string) 4 { 5 static char separator=‘ ‘; 6 printf("%c %s\n",separator,string); 7 separator=‘,‘; 8 } 9 int main(void) 10 { 11 char *p="hi,guy,would you want strengh!"; 12 generate_initializer(p); 13 generate_initializer(p); 14 generate_initializer(p); 15 return 0; 16 }
所以,static使用要走點心。
這不是bug,而是語言特性