• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

scanf znaku typu char

0 głosów
81 wizyt
pytanie zadane 7 kwietnia 2020 w C i C++ przez ResCrove Obywatel (1,700 p.)
#include <stdio.h>

int main()
{
    int a = 0; 
    int b = 0;
    char op;
    printf("Podaj liczby: ");
    scanf("%d %d", &a, &b);
    printf("Podaj dzialanie: ");
    scanf("%c", &op);
    printf("%c", op);
    return 0;
}

Mój problem polega na tym że po wypisaniu komunikatu "Podaj dzialanie: " program kończy działanie i nie mamy możliwości wpisania znaku typu char. Domyślam się że chodzi o czyszczenie bufora jednak w zadaniu nie mogę używać pętli zatem odpada czyszczenie bufora przy użyciu pętli while. Pytanie brzmi jak sprawić powyższy program działał.

2 odpowiedzi

+1 głos
odpowiedź 7 kwietnia 2020 przez SimiVoid Pasjonat (17,480 p.)
Podczas wczytywania znaku potraktuj to jako ciąg znaków, a kompilator sam prze-konwertuje na char, ponieważ pobiera on jako znak spację (sam nie wiem skąd ją bierze);
+1 głos
odpowiedź 7 kwietnia 2020 przez tangarr VIP (136,500 p.)

Format %c w funkcji scanf nie omija białych znaków. Zmień format na %1s

komentarz 7 kwietnia 2020 przez ResCrove Obywatel (1,700 p.)

Dzięki, działa smiley

komentarz 7 kwietnia 2020 przez j23 Mędrzec (163,540 p.)

@tangarr, Wystarczy spację dać przed %c.

komentarz 7 kwietnia 2020 przez ResCrove Obywatel (1,700 p.)
To najlepsza opcja dzięki.

Podobne pytania

0 głosów
1 odpowiedź 45 wizyt
pytanie zadane 9 czerwca w C i C++ przez warzywko13 Użytkownik (740 p.)
+2 głosów
3 odpowiedzi 86 wizyt
pytanie zadane 24 sierpnia 2020 w C i C++ przez SzymonG Nowicjusz (170 p.)
0 głosów
1 odpowiedź 232 wizyt
pytanie zadane 3 maja 2020 w C i C++ przez reken Początkujący (390 p.)
Porady nie od parady
Wynikowy wygląd pytania, odpowiedzi czy komentarza, różni się od tego zaprezentowanego w edytorze postów. Stosuj więc funkcję Podgląd posta znajdującą się pod edytorem, aby upewnić się, czy na pewno ostateczny rezultat ci odpowiada.Podgląd posta

84,130 zapytań

132,899 odpowiedzi

293,918 komentarzy

55,554 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...