C和指针之字符串编程练习8实现char *my_strnchr(char const *str, int ch, int which)
生活随笔
收集整理的這篇文章主要介紹了
C和指针之字符串编程练习8实现char *my_strnchr(char const *str, int ch, int which)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、問題
編寫函數(shù)類似strchr函數(shù),但是它有3個(gè)參數(shù),第三個(gè)參數(shù)是1, 這個(gè)函數(shù)的功能就和strchr完全一樣,
如果第三個(gè)參數(shù)是2,這個(gè)函數(shù)就返回一個(gè)指向ch字符在str字符串第二次出現(xiàn)的位置的指針,以此類推
2、代碼實(shí)現(xiàn)
1 #include <stdio.h>2 #include <string.h>3 4 /**5 編寫函數(shù)類似strchr函數(shù),但是它有3個(gè)參數(shù),第三個(gè)參數(shù)是1, 這個(gè)函數(shù)的功能就和strchr完全一樣,6 如果第三個(gè)參數(shù)是2,這個(gè)函數(shù)就返回一個(gè)指向ch字符在str字符串第二次出現(xiàn)的位置的指針,以此類推7 **/8 char *my_strnchr(const char *str, int ch, int which)9 {10 if (which <= 0)11 return str;12 for (int i = 0; i < which; ++i)13 {14 if (str != NULL)15 {16 str = strchr(str, ch);17 //最后一次出現(xiàn)不需要指針向右移動(dòng)18 if (i != which -1)19 {20 //如果which的次數(shù)比ch出現(xiàn)的多21 //直接返回str22 if (str == NULL)23 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)
總結(jié)
以上是生活随笔為你收集整理的C和指针之字符串编程练习8实现char *my_strnchr(char const *str, int ch, int which)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C和指针之字符串编程练习9(在参数1中查
- 下一篇: C和指针之字符串memcpy、memmo