Я пытаюсь создать программу, которая возвращает число и строку с элементами в обратном порядке. Я смог сделать и то и другое, но я не понимаю, почему появляются новые пустые строки, когда я печатаю обратную строку
Я также попробовал это с одним словом, используя функцию scanf, и все еще появляется пустая строка
#include <stdio.h>
#include <stdlib.h>
int main()
{
char s[50];
int i, n, lastDigit, textLen=0;
printf("Enter a number: ");
scanf("%i", &n);
getchar();
printf("Enter the text: ");
fgets(s, 50, stdin);
printf("The reversed number is: ");
while(n > 0){
lastDigit = n%10;
n=n/10;
printf("\n%i", lastDigit);
}
printf("\nThe reversed text is: ");
while(s[textLen] != '\0'){
textLen++;
}
for(i=textLen; i>=0; i--){
printf("\n%c", s[i]);
}
return 0;
}
Я ожидаю:
T
е
s
T
Но фактический результат:
T
е
s
т