Wyświetlanie ciągu znaków wspak.

Wyświetlanie ciągu znaków wspak.
O1
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam robię następujące zadanie z książki Stephena Praty:

Napisz program, który odczytuje jeden wiersz danych wejściowych, a następnie wyświetla go wspak. Pamiętaj, że do pobrania jednego znaku możesz użyć funkcji scanf() ze specyfikatorem %c oraz, że wciśnięcie klawisza Enter generuje znak nowej linii (\n).

Napisałem coś takiego:

Kopiuj
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
	char a;
	char tab[100];
	int i = 0;

	printf("Podaj ciag danych\n");
	printf("Wcisnji enter aby zakonczyc\n");
	for(scanf("%c", &a); a != '\n';)
	{
		tab[i] = a;
		scanf("%c", &a);
		i = i++;
	}
	printf("Wcisnales enter\n");
	while(i >= 0)
	{
		printf("%c", tab[i]);
		i = i--;
	}
	getchar();
	getchar();
	return 0;
}

Program działa ok, poza tym, że wyświetla zawsze się taki krzaczek jak na screenie poniżej. Jak się go pozbyć i czemu się pojawia?

http://imageshack.us/photo/my-images/163/72382759.jpg/

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1

Po wczytaniu zmienna "i" ma w sobie indeks ZA ostatnim znakiem.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.