А это случаем не домашнее задание?
Уж больно постановка вопроса похожа.
И какой язык?
А то ведь могу и на lisp-е зафигачить :-))). Там рекурсия
для такой задачи более естественна.
Ну ладно, предположим, что C.
#include <string.h>
void reverse(char *str, int len)
{
char swap;
if (len>1){
swap = str[0];
str[0] = str[len-1];
str[len-1] = swap;
reverse(str+1, len-2);
}
}
int main(int argc, char* argv[])
{
int i;
if (argc<2){
printf("Use reverse string [, string]");
}
else{
for(i=1;i<argc;++i){
printf("\"%s\"\n", argv[i]);
reverse(argv[i], strlen(argv[i]));
printf("\"%s\"\n", argv[i]);
printf("------------\n");
}
}
return 0;
}