[C] Problem z wczytywaniem zmiennej char z klawiatury

Awatar użytkownika
Assassin-Girl
Użytkownik
Użytkownik
Posty: 76
Rejestracja: 22 lut 2013, o 18:32
Płeć: Kobieta
Lokalizacja: Maczu-Pikczu
Podziękował: 33 razy

[C] Problem z wczytywaniem zmiennej char z klawiatury

Post autor: Assassin-Girl »

Cześć.

Mam dość dziwaczny problem, a mianowicie:

Kod: Zaznacz cały

#include <stdio.h>

int main()
{
	char znak, znak_1;
	printf("Podaj znak:\t");
	scanf("%c",&znak);
	printf("Podaj znak_1:\t");
	scanf("%c",&znak_1);
}
Nie mam zielonego pojęcia, czemu mogę wprowadzić z klawiatury tylko "znak". Po wprowadzeniu program się krzaczy i nie mogę wprowadzić już z klawiatury "znak_1", bo program wg DevC++, CodeBlock'a i Putty się skończył.

Za wszelkie sugestie będę wdzięczna.
lukequaint
Użytkownik
Użytkownik
Posty: 219
Rejestracja: 5 maja 2010, o 18:27
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 1 raz
Pomógł: 75 razy

[C] Problem z wczytywaniem zmiennej char z klawiatury

Post autor: lukequaint »

Zmień

Kod: Zaznacz cały

scanf("%c",&znak);
na:

Kod: Zaznacz cały

scanf(" %c",&znak); /* spacja po " */
scanf() wczytuje znak nowej linii, który pozostał po wczytaniu pierwszego znaku. Ta spacja każe mu pominąć białe znaki. To jedno z rozwiązań. Można też zmienić sposób wczytywania, np. na fgets() & sscanf().
Awatar użytkownika
Assassin-Girl
Użytkownik
Użytkownik
Posty: 76
Rejestracja: 22 lut 2013, o 18:32
Płeć: Kobieta
Lokalizacja: Maczu-Pikczu
Podziękował: 33 razy

[C] Problem z wczytywaniem zmiennej char z klawiatury

Post autor: Assassin-Girl »

Dzięki, wszystko śmiga. :)
radek04
Użytkownik
Użytkownik
Posty: 1
Rejestracja: 13 sty 2015, o 21:53
Płeć: Mężczyzna
Lokalizacja: Poznań

[C] Problem z wczytywaniem zmiennej char z klawiatury

Post autor: radek04 »

Co znaczy "scanf() wczytuje znak nowej linii". Gdzie tam jest znak nowej linii? Taki jest standard, czy efekt uboczny?

A czy można stosować %s zamiast %c, czy nie jest to dobre rozwiązanie?
WarNaX
Użytkownik
Użytkownik
Posty: 7
Rejestracja: 27 lut 2014, o 22:51
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Pomógł: 2 razy

[C] Problem z wczytywaniem zmiennej char z klawiatury

Post autor: WarNaX »

radek, polecam najpierw poczytać nieco o specyfikacji języka
ODPOWIEDZ