Программа для реверсирования строки с помощью указателей на языке Си
Здравствуйте ребята я пытаюсь сделать программу на языке Си для реверсирования строки возвращая указатель на символ из функции
Что я уже пробовал:
#include<stdio.h> #include<stdlib.h> char* reversestring(char* input); int main() { int i; char* output; char inputstring[100]; printf("enter the string\n"); gets(inputstring); output = reversestring(inputstring);
я хочу напечатать одну и ту же строку в обоих направлениях то есть с помощью printf и запустив цикл пожалуйста предложите мне оба способа печати в одной программе
здесь я взял i=0 до 4 для фиксированной строки Здесь я предполагаю, что пользователь введет фиксированную строку длиной 5 символов, потому что я не знаю правильного способа
printf("%s\n",output); for(i=0;i<4;i++) { printf("%c",(output+i)); } }
обратная функция начните отсюда
char* reversestring(char* input) { int count=0,begin,end; char* output=(char*) malloc(100); while(*input!=0) { count++; } end=count-1; for(begin=0;begin<count;begin++) { *(output+begin)=*(input+end); end--; } output[begin]='\0'; return output; }
нет никакой ошибки и предупреждения, что он принимает только ввод, а не выдает вывод(курсор мигает только программа не заканчивается)