アルゴリズムは、C言語の文字列関数1に実装しました

午前二十一時32分23秒2019年6月1日

C文字列関数、文字列関数アルゴリズムについて話をする方法を検討するために、今日の瞬間

最初に文字列関数を強調<string.hの>ヘッダ・ファイル

1.strcmp機能

使用法:int型のstrcmp(CHAR * str1は、CHAR * STR2)。

関数:文字列比較は、0に等しいと最初の値と等しくない差分(STR1、STR2、差分値:すなわち、ASCIIの差)と一致しない文字の文字列を返します

アルゴリズム

int型 mystrcmp(チャー *のP1、チャー *のP2)
{ // * P1、P2 *は、STR2最初のアドレス(すなわち文字列名)文字列STR1を格納する
    int型私は= 0 ;
     一方(P1の[I] == !P2 [I] && P1 [I] = ' \ 0 '// 、最初から文字を比較開始直進、終了し、等しくない場合は
    、{ 
       Iは ++ ; 
    } 
    int型、NUMを   // 戻り値を表すために
    IF(P1 [I] == ' \ 0 ' && P2 [I] == ' \ 0 '// ここで二つの文字列の末尾
    { 
       NUM =0 ;   // 同じであると判定されるまで
    }
     
    { 
       NUM = [I] P1 -P2 [I]は、   //はNUMに割り当てられた差分のASCII文字コードを伝える
    }
     戻りNUMを; 
}

2.strchr機能

用法:CHAR * strchr(チャー*のSTR、チャーC)。

機能:NULLが返された場合、最初に出現したの与えられた文字列で検索する、それ以外の場合は、最初の発生箇所へのポインタを返します

アルゴリズム:

CHAR * mystrchr(CHAR * STR、チャーC)
{ 
   IF(STR == NULL)
   { 
      戻りNULL; 
   } 
   そうでなければ
   { 
      (whlie * STR =!' \ 0 ' 
      { 
         IF(CH ==(* STR))   // 文字列であり、* STR STR [i]は、と等価
         {
              戻り、STR
              BREAK ;          // リターンアドレスに等しく、ループを抜ける
         } 
         STR ++ ; 
      } 
      戻りNULL; 
   } 
}

3.strcat機能

用法:チャー*のSTRCAT(CHAR *デス、チャー*源);

機能:文字列の連結機能、最初のアドレスが正常に戻ったが、それ以外の場合はNULLを返します

アルゴリズム:

CHAR * mystrcat(CHAR * 0009、CHAR * STR2)
{ 
    IF(STR2のSTR1 == NULL || == NULL)
         戻りNULL;
     CHAR * P = 0009; //はポインタ第1アドレスSTR1保存
    しばらく(* 0009 =!' \ 0 ' 
    { 
        0009 ++ ; 
    } 
    ながら(* STR2 =!' \ 0 ' 
    {
         * 0009 = STR2; 
        0009 ++ ; 
    }
     * 0009 = ' \ 0 ' 返すのpを; // 最初のアドレスを返します 
}

 

ここでは最初に、今日いえば、明日続けます!

ご理解と大きな助けの成長のために、自分の実現を達成するために必ず、ライブラリ関数にあまり依存しないでください。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/zulkar/p/10961094.html