どのような手順を踏むのかというと……
- まず、適当な長さの文字列(文字型の配列)を用意する
- 標準入力から受け取ったデータを用意した配列に格納する
- 何文字分あるかを測る(n文字分あったとする)
- 1文字目とn文字目、2文字目とn-1文字目と、順番に交換していく
おおまかに言うとこのようになります
解答例:reverse.c
#include <stdio.h>
#include <string.h>
int main()
{
char hoge[256];
printf("文字列を入力してください\n"); scanf("%s", hoge);
int i;
int length;
char tmp;
length = strlen(hoge);
for(i = 0; i < (length/2); i++){
tmp = hoge[i];
hoge[i] = hoge[length - i - 1];
hoge[length - i - 1] = tmp;
}
printf("%s\n", hoge);
return (0);
}
なお、文字列の長さを測る関数strlenは、NULL文字(\0)の直前までの長さを測ってくれるため、特別NULL文字について意識する必要はありません
0 件のコメント:
コメントを投稿