Wpis z mikrobloga

@VanQator: Skąd wiesz, jaki jest kolejny znak w pamięci? Pomijając fakt że to jest Undefined Behavior to poporstu może wczytać kolejną cyferkę z pamięci, musisz zrobić co najmniej tak:

char buf[2] = { pesel[i], '\0' };
Przytoczony fragment odnosi się, że ostatnia cyfra może być czymkolwiek poza 0-9, niekoczniecznie '\0'.
@lionbest: Ok, masz rację, zwracam honor. W sumie to przecież, równie dobrze akurat w pamięci może znaleźć się nawet cyfra, która będzie uwzględniona jako pozycja odczytywanego ciągu, co też zafałszuje wynik.