プログラミング+α学習ブログ

勉強したことの備忘録です。

文字列を逆順に格納するプログラム

#include <stdio.h>

/*--- 文字列strの長さを返す ---*/
unsigned str_length(const char str[])
{
    unsigned len = 0;
    while (str[len])
        len++;
    return (len);
}

/*--- 文字列を逆順に並べ替える ---*/
void rev_string(char str[])
{
    int i;
    int len = str_length(str);
    for (i = 0; i < len / 2; i++) {
        char temp = str[i];
        str[i] = str[len-i-1];
        str[len-i-1] = temp;
    }
}

int main(void)
{
    char str[100];
    
    printf("str=");
    scanf("%s", str);
    
    rev_string(str);    // 文字列を逆順に並べ替える
    
    puts("文字列strを逆順に並べ替えました。");
    printf("str=");
    puts(str);
    
    return (0);
}

実行結果

str=SEC
文字列strを逆順に並べ替えました。
str=CES