witam zaledwie 2 tygodnie temu rozpocząłem programowanie z C na studiach a materiał bardzo szybko leci i nie nadążam wszystkiego ogarnąć. Poniżej mam napisany program do oddzielania części liczby rzeczywistej od zespolonej zgodnie z szablonem, jednak gdzieś jest błąd tylko nie wiem gdzie proszę o pomoc w korekcie. Problem polega na tym że co bym nie wpisał wywala mi zawsze "Incorrect input".
int main(void)
{
int re, im;
char op;
printf("liczba zespolona: ");
int c = scanf("%d%ci%d", &re, &op, &im);
if (c |= 3 || (op != '+' && op != '-')) {
printf("incorrect input\n");
return 1;
}
int sgn = 1;
if (op == '-')
sgn = -1;
printf("Czesc rzeczywista: %d\n", re);
prinft("Czesc urojona: %d\n", sgn * im);
return 0;
}