Jestem prawdziwym początkującym użytkownikiem C, ale się uczę!Dziwna postać po tablicy znaków
Natknąłem się na ten problem wcześniej i postanowiłem zapytać, jaki jest tego powód. I proszę wyjaśnij swoje odpowiedzi, abym mógł się uczyć.
Zrobiłem program, który pozwala wprowadzić 5 znaków, a następnie pokazać znaki, które napisałeś, a także je odwrócić, na przykład: "asdfg" - "gfdsa". Dziwne jest to, że dziwna postać jest wyświetlana po wprowadzeniu oryginalnych znaków.
Oto kod:
char str[5];
char outcome[] = "OOOOO";
int i;
int u;
printf("Enter five characters\n");
scanf("%s", str);
for(i = 4, u = 0; i >=0; u++, i--){
outcome[i] = str[u];
}
printf("\nYou wrote: %s. The outcome is: %s.", str , outcome);
return 0;
Gdybym wpisać: "asdfg" pokazuje: "asdfg ♣", to dlaczego?
Dziękuję za poświęcony czas i proszę wyjaśnić swoje odpowiedzi :)
Musisz zakończyć tablicę znaków. Zobacz http://stackoverflow.com/questions/10943033/why-are-strings-in-c-usually-terminated-with-0 –