C言語で文字列の内容を逆にする方法は何ですか?

C言語の配列とポインタを使用して、文字列の内容を逆にすることができます。次の手順に従って実現できます。

  1. 文字列の内容を反転させる関数を定義し、関数のプロトタイプは次のようになります:
void reverseString(char* str);
  1. 関数の中で、一つのポインタを文字列の先頭アドレスに、もう一つのポインタを文字列の末尾アドレスに指定する。そして、指定された2つのポインタを交換することで、文字列の内容を逆転させることができる。具体的なコードは以下の通りです:
void reverseString(char* str) {
    char* start = str;
    char* end = str + strlen(str) - 1;
    
    while(start < end) {
        char temp = *start;
        *start = *end;
        *end = temp;
        
        start++;
        end--;
    }
}
  1. メイン関数内でこの関数を呼び出し、逆転させたい文字列をパラメーターとして渡します。例えば:
int main() {
    char str[] = "Hello, world!";
    
    printf("Original string: %s\n", str);
    
    reverseString(str);
    
    printf("Reversed string: %s\n", str);
    
    return 0;
}

上記のコードを実行すると、元の文字列「Hello, world!」が逆になり「!dlrow ,olleH」となります。

コメントを残す 0

Your email address will not be published. Required fields are marked *


广告
広告は10秒後に閉じます。
bannerAds