Итак, после нескольких лет бездействия после изучения в uni, я пытаюсь создать свой опыт с помощью простого реверсора строк.Проблемы с простой задачей c
вот мой код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*
*
*/
int main(int argc, char** argv) {
reverser();
return(0);
}
int reverser(){
printf("Please enter a String: ");
//return (0);
int len;
char input[10];
scanf("%s",&input);
int quit = strcmp(input,"quit");
if(quit == 0){
printf("%s\n","Program quitting");
return(0);
}
len = strlen(input);
printf("%i\n",len);
char reversed[len];
int count = 0;
while (count <= (len-1)){
//printf("%i\n",(len-count));
reversed[count] = input[(len-1)-count];
count++;
}
//printf("%s\n",input);
printf(reversed);
printf("\n");
reverser();
}
Когда я ввода "привет", можно было бы ожидать "olleh" в качестве ответа, но я получаю "olleh: $ а ча & @",
Как мне просто вернуть строку и вернуть ее?
Bombalur
Вы добавили завершающий нуль в конец перевернутой строки? т. е. '\ 0'? –
Вы забываете, что строки заканчиваются нулевым байтом. Вам нужно добавить этот ноль после последнего символа в 'reverseed' – pmg