Wyświetlanie ciągu znaków wspak.

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:

#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/

1

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1