天天看點

多方法實作對字元串長度的統計

方法一:

使用計數器的方法進行統計,最容易想到的方法;

<code>#include &lt;stdio.h&gt;</code>

<code>#include &lt;stdlib.h&gt;</code>

<code>  </code><code>#include &lt;</code><code>assert</code><code>.h&gt;</code>

<code> </code> 

<code>int</code> <code>my_strlen(</code><code>char</code> <code>*string)</code>

<code>{</code>

<code>    </code><code>assert</code><code>(srring!=NULL);</code>

<code>    </code><code>int</code> <code>count = 0;</code>

<code>    </code><code>char</code> <code>*pstr = string;</code>

<code>    </code><code>while</code> <code>(*pstr)</code>

<code>    </code><code>{</code>

<code>    </code><code>count++;</code>

<code>    </code><code>pstr++;</code>

<code>    </code><code>}</code>

<code>    </code><code>return</code> <code>count;</code>

<code>}</code>

方法二:

通過遞歸的方式是實作(該方法會加大系統開銷,效率相對較低);

<code>#include &lt;assert.h&gt;</code>

<code>  </code> 

<code>    </code><code>assert</code><code>(string != NULL);</code>

<code>    </code><code>if</code> <code>(*pstr == </code><code>'\0'</code><code>)</code>

<code>        </code><code>return</code> <code>0;</code>

<code>    </code><code>else</code>

<code>        </code><code>return</code> <code>1 + my_strlen(pstr + 1);</code>

方法三:

使用指針統計字元串的長度

<code>    </code><code>char</code> <code>*pstart = string;</code>

<code>    </code><code>char</code> <code>*pend = string;</code>

<code>    </code><code>while</code> <code>(*pend)</code>

<code>        </code><code>pend++;</code>

<code>    </code><code>return</code> <code>pend - pstart;</code>

<code></code>

本文轉自 七十七快 51CTO部落格,原文連結:http://blog.51cto.com/10324228/1835861

繼續閱讀