Wątek przeniesiony 2014-03-11 18:50 z C/C++ przez ŁF.

Wczytywanie różnych typów zimennych

0

witam, przepraszam, zaczalem zglebiac jezyk c i mam pewien problem. Otoz, napisalem pewien maly programik w ramach nauki, jednak mam pewien problem.

 #include <stdio.h>
#include <stdlib.h>


int a; float b; char c;

void pisz()
{
	printf("\ncos tam, cos tam\n");
}

int main(void) {
	
	
	scanf("%d", &a);
	scanf("%f", &b);
	
	printf("Mam %d lat\n", a);
	printf("%f", b);
	
	printf("\njezeli chcesz, zobaczyc napis, nacisnij 't', jezeli nie to 'n'\n");
	scanf("%c", &c);
	
	if (c=='t')
	pisz();
	else
	return 0;
}

otoz, teraz nie wczytuje mi c, dlaczego, nie wiem. Ale gdy wezme w komentarz wczytanie od a do b, wtedy wczytuje c. Czy moglby mi ktos wytlumaczyc, dlaczego tak sie dzieje? Z gory dzieki za pomoc.

3

Bo jak wstukasz coś z klawiatury i dasz "enter" to w buforze ten enter zostaje i twój scanf na %c łapie ten enter jako wpisany znak.

3

Napisz tak

scanf(" %c", &c);

Inaczej wczytujesz automatycznie enter z wcześniejszego wczytywania.

0

dzieki wielkie Panowie

1 użytkowników online, w tym zalogowanych: 0, gości: 1