文字列aを入力、その逆順を出力するプログラム。文字は半角英数字のみで20文字以内。
a(文字列)
aの逆順(文字列)
zbth5weh1ali3wfhyf
fyhfw3ila1hew5htbz
とにかく逆順にするだけです。とりあえず配列に入れて後ろから出力が基本だと思います。
#include <stdio.h> #include <string.h> int main(){ char str[22]; int i; scanf("%s",str); i = strlen(str); //'\0'をとばす for(i--;i>=0;i--){ putchar(str[i]); } return 0; }
C言語でバッファが22文字分なのは癖です(反射的にMAX+2にしてしまう)。まあ、普通は21文字で足ります。文字列+'\0'です。とりあえず気にしないで下さい。私の習慣ですから。
ちなみに「20文字+改行文字+'\0'」で22文字は嘘です。scanfでの%sは、「改行」や「空白記号」を読みとりません。勘違いをさせてしまった方。申し訳ありませんでした。