アルゴリズムとデータ構造 補足資料5-3 「サンプルプログラムstrcat.c」 横浜国立大学 理工学部 数物・電子情報系学科 富井尚志 サンプルプログラム: strcat.c 文字列の扱い •文字列はchar型の配列 •文字列の終端は’\0’ •文字列を結合する場合は、配列の要素一つ一つを転送する。 s[0] s[1] s[2] s[3] s[4] s[5] s[6] s[7] s[8] s[9] s[10] s[11] s[12] H e l l o , \0 ? ? ? ? ? ? + t[0] t[1] t[2] t[3] t[4] t[5] t[6] w o r l d . \0 s[0] s[1] s[2] s[3] s[4] s[5] s[6] s[7] s[8] s[9] s[10] s[11] s[12] H e l l o , w o r l d . \0 i= 6 s[0] s[1] s[2] s[3] s[4] s[5] s[6] s[7] s[8] s[9] s[10] s[11] s[12] H e l l o , \0 ? ? ? ? ? ? j= t[0] t[1] t[2] t[3] t[4] t[5] t[6] w o r l d . \0 0 i= 6 s[0] s[1] s[2] s[3] s[4] s[5] s[6] s[7] s[8] s[9] s[10] s[11] s[12] H e l l o , w ? ? ? ? ? ? s[i] = t[j] j= t[0] t[1] t[2] t[3] t[4] t[5] t[6] w o r l d . \0 0 i= 7 s[0] s[1] s[2] s[3] s[4] s[5] s[6] s[7] s[8] s[9] s[10] s[11] s[12] H e l l o , w ? ? ? ? ? ? t[0] t[1] t[2] t[3] t[4] t[5] t[6] w o r l d . \0 j= 1 i= 7 s[0] s[1] s[2] s[3] s[4] s[5] s[6] s[7] s[8] s[9] s[10] s[11] s[12] H e l l o , w o ? ? ? ? ? s[i] = t[j] t[0] t[1] t[2] t[3] t[4] t[5] t[6] w o r l d . \0 j= 1 i= 8 s[0] s[1] s[2] s[3] s[4] s[5] s[6] s[7] s[8] s[9] s[10] s[11] s[12] H e l l o , w o r ? ? ? ? s[i++] = t[j++] t[0] t[1] t[2] t[3] t[4] t[5] t[6] w o r l d . \0 j= 2 i= 9 s[0] s[1] s[2] s[3] s[4] s[5] s[6] s[7] s[8] s[9] s[10] s[11] s[12] H e l l o , w o r l ? ? ? s[i++] = t[j++] t[0] t[1] t[2] t[3] t[4] t[5] t[6] w o r l d . \0 j= 3 i= 10 s[0] s[1] s[2] s[3] s[4] s[5] s[6] s[7] s[8] s[9] s[10] s[11] s[12] H e l l o , w o r l d ? ? s[i++] = t[j++] t[0] t[1] t[2] t[3] t[4] t[5] t[6] w o r l d . \0 j= 4 i= 11 s[0] s[1] s[2] s[3] s[4] s[5] s[6] s[7] s[8] s[9] s[10] s[11] s[12] H e l l o , w o r l d . ? s[i++] = t[j++] t[0] t[1] t[2] t[3] t[4] t[5] t[6] w o r l d . \0 j= 5 i= 12 s[0] s[1] s[2] s[3] s[4] s[5] s[6] s[7] s[8] s[9] s[10] s[11] s[12] H e l l o , w o r l d . \0 (s[i++] = t[j++])!=‘\0’ False! t[0] t[1] t[2] t[3] t[4] t[5] t[6] w o r l d . \0 j= 6
© Copyright 2024 ExpyDoc