![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
程序语言
lwouyang
这家伙很懒,什么都没有留下!
展开
-
C语言中switch语句的糟糕设计
C语言的 switch语句设计不符合C哲学。 1、case标签变成彻彻底底的标签,每个case只能带一个整型常数,而相比普通标签却没有增加任何特性,语义特性减弱到甚至不如一个普通标签了。尽管原来的switch语句判断变量的值只允许是char范围,其设计的初衷可能是为了便于编译器优化,但几乎可想而知,这觉得不符合使用。事实上的结果也并不朝着初衷方向。 2、引入default关键字原创 2008-12-26 03:20:00 · 1309 阅读 · 0 评论 -
如何使用fgets函数代替gets
fgets的原型是char* fgets(char* s, int n, FILE* fp);参数数量比较多,有3个。fgets相比于gets在结果上有一个显著的差别就是fgets会将行末的换行符算到读入的字符串里面。所以相同且正常(输入无错误,缓冲区够大)的情况下,fgets读入的字符串会比gets在末尾'\0'前面多一个换行符;行长度超出缓冲区大小时只读入前 n-1 个字符。因此,原创 2013-02-28 13:08:02 · 1914 阅读 · 0 评论 -
一个相当糟糕的函数
今天在坛里面见到一个函数,看了心寒。代码是这样的, #include #include void fun(float *p1,float *p2,float *s){s=(float*)calloc(1,sizeof(float)) ;*s=*p1+*p2++;}fun函数有如下问题:1、要求float*型参数p1,p2和s。而计算过程根本用原创 2009-03-15 00:40:00 · 1144 阅读 · 1 评论