今回は、「文字列を後ろから逆に表示するプログラム」である。
なお、本プログラムは、Windows 11 Home(23H2)上で、 Visual Studio Code(1.89.1)を使用して作成し、gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0でコンパイルしている。
文字列を後ろから逆に表示するプログラム
//文字列を後ろから逆に表示するプログラム
#include <stdio.h>
//文字列sの長さを返す
int str_length(const char s[])
{
int len = 0;
while(s[len])
len++;
return len;
}
//文字列sを逆から表示
void put_stringr(const char s[])
{
int i = str_length(s);
while(i-- > 0)
putchar(s[i]);
}
int main(void)
{
char str[256];
printf("文字列strを入力してください:");
scanf("%s",str);
printf("strを逆から読むと:");
put_stringr(str);
putchar('\n');
return 0;
}
実行結果
文字列strを入力してください:ABCDEF
strを逆から読むと:FEDCBA
関数str_length
ナル文字を見つけるまで走査することで、文字列sの長さを求める。
長さ用の変数lenを0で初期化しておき、繰り返しの度にインクリメントする。
走査が終了すると、lenと値を返却する。
関数put_stringr
文字列sを逆順に走査しながら表示する。文字列sの長さを関数str_lengthで求めておき、それから文字列を末尾から先頭へと走査する。
(参考)新・解きながら学ぶC言語 第2版 柴田望洋 (監修・著)、 由梨かおる(著)SBクリエイティブ
コメント