POINTERS ON C
Sherry_Yue
这个作者很懒,什么都没留下…
展开
-
求字符串长度
虽然函数库里已经有这样的一个函数了,但还是可以自己编写一下/*计算一个字符串的长度*/#include <stdlib.h>size_t strlen( char * string )//size_t是标准C库中定义的,即为unsigned int{ int len = 0; while( *string++ != '\0' )//先取值再位置加1,直到遇到NULL才停止计...原创 2018-12-05 08:59:17 · 223 阅读 · 0 评论 -
在一堆字符串中查找指定的单个字符(二重指针)
我们使用指针数组char ** strings来储存一堆字符串,value为指定要查找的那个单个字符因为*strings只能存储一个字符串,那么套用二重指针就是可以存储一系列字符串,即字符串数组#include <stdio.h>#define TRUE 1#define FALSE 0int find_char( char ** strings, char value ...原创 2018-12-05 09:32:06 · 333 阅读 · 0 评论 -
计算一个二进制数中数字“1”的个数(位运算)
int numberOfOne( unsigned value ){ int count; for( count = 0; value != 0; value &gt;&gt;= 1 ) if( ( value &amp; 1 ) != 0 )//如果最低位是1,就增加计数器的值 count += 1; return count;}笔记:value &gt;&gt;= ...原创 2018-12-02 22:43:12 · 535 阅读 · 0 评论 -
逗号操作符使用小技巧
1. 累赘、无效的逗号操作符if( b+1, c/2, d>0 ) //...省略判断条件相当于舍弃了前面两个式子,而是只判断了最后一个 d>0 的真假,所以这种用法毫无意义。2. 一种特殊情况的while循环中的使用原代码:a = get_value();count_value( a );//在while循环前有两条语句用于获得在循环表达式中进行测试的值while...原创 2018-12-03 20:38:46 · 277 阅读 · 0 评论 -
奇偶校验
奇偶校验(Parity Check)是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中**“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验**,反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。对值进行偶校验:i...原创 2019-02-25 22:25:33 · 2046 阅读 · 1 评论 -
阶乘的递归与迭代算法
阶乘:factorial(n)={1n&lt;=0n∗factorial(n−1)n&gt;0factorial(n)=\begin{cases} 1 &amp; n&lt;=0\\n*factorial(n-1) &amp; n&gt;0\end{cases}factorial(n)={1n∗factorial(n−1)n<=0n>...原创 2019-02-25 22:34:52 · 1604 阅读 · 0 评论 -
可变参数列表
考虑一个计算一系列值的平均值的函数:计算指定数目的值的平均值(差的方案):float average(int n_values,int v1,int v2,int v3,int v4,int v5){ float sum = v1; if( n_values>=2 ) sum += v2; if( n_values>=3 ) sum += v3; if( n_values...原创 2019-02-25 23:01:47 · 251 阅读 · 1 评论