首页 > 代码库 > 这不是bug,而是语言特性

这不是bug,而是语言特性

分析编程语言缺陷的一种方法是把所有的缺陷归于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,而是语言特性