首页 > 代码库 > 这不是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,而是语言特性
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。