编程语言
xieyaohaha
这个作者很懒,什么都没留下…
展开
-
浮点数运算
浮点运算有时候看起来有些麻烦和神秘。在C语言中这个问题尤其严重一些,因为C语言传统上并不是用来设计大量使用浮点数的程序的。大多数电脑都是用二进制来表示浮点数和整数的。例如,在十进制里,0.1是个简单、精确的小数,但是用二进制表示起来却是个循环小数0.0001100110011...。在对一些二进制中无法精确表示的小数进行赋值后再读取输出时,也就是从十进制转换成二进制再转回十进制时,你会观察到数值的原创 2017-04-07 11:55:29 · 655 阅读 · 0 评论 -
一种很好的登录随机退出有序的链表操作方法
前些日子写了个队列结构,用来处理多机通讯。程序架构是一主多从,同时开启的最多从机数是在程序里定义好的,从机是随机和主机建立连接。所以用了个队列来记录从机的的登录和退出。我写的那个队列方法每当有从机退出时,会进行移位操作,所幸队列不够大,否则效率是很低的。今天看到了一个很好的队列操作方法,元素的登录和退出都不会用到移位操作,效率很好,所以贴在这里#define MAX_TIMER 5原创 2017-09-09 14:45:53 · 350 阅读 · 0 评论 -
奇怪的C语言表达式
#define SLIST_FOREACH_SAFE(var, head, field, tvar) \ for ((var) = SLIST_FIRST((head)); \ (var) && ((tvar) = SLIST_NEXT((var), field), 1); \ (原创 2017-10-07 16:44:19 · 539 阅读 · 0 评论 -
读取一行数据中第n列数据的方法
假如一行数据的格式是这样的name score sort datehaha 100 1 2018.04.19这行数据位于字符串变量buf中,那么我们可以用下面方式来分别读取其中记录项 char name[BUFSIZ],score[BUFSIZ],sort[BUFSIZ],date[BUFSIZ];sscanf(...原创 2018-04-19 16:29:35 · 1025 阅读 · 2 评论