początkujący - scanf(%c%c,a,b)

0

Witam ;] Post idiotyczny zapewne, ale ja zaczynam dopiero moją przygodę z C (właściwie to zacząłem 15 minut temu ;-) i zastanaiwa mnie to czemu to:
[code]
#include<stdio.h>

int main(void)
{
char a,b;
printf("Wpisz 2 literki:\n");
scanf("%c%c",&a,&b);
printf("Literki jakie wpisales to: %c i %c",a,b);

return 0;

}
[/code]

nie działa, a raczej działa ale w sposób nie taki jaki bym oczekiwał, a mianowicie:

venom@darkstar:/tmp$ ./2
Wpisz 2 literki:
3
Literki jakie wpisales to: 3 i

pozdro

0

Nie naciskasz przypadkiem spacji po pierwszej literce? Sprobuj jedna literke po drugiej.

0

Zadnych spacji.. :/
coś dziwne...

0

%c to nie literka tylko znak, a ze [ENTER] tez jest znakiem to zostaje odczytany i w tym komunikacie po "... i" wystepuje wlasnie znak nowej linii, czyli wszystko ok.

[DOPISANE]

Jeden z mozliwych sposobow: scanf("%c%*c%c",&a,&b);

0

Czyli jak to praktycznie zrobić, aby wczytało 2 znaki, jeżeli pomiędzy nimi miałby być enter ? trzeba by dać %c%c%c itd, dobrze myśle ;-) ?

1

myslisz dobrze, ale jednoczesnie utrudniasz sobie zycie ;>
najlatwiej po prostu poinformowac scanf'a ze ma sie spodziewac entera miedzy znakami, czyli
[code]
scanf( "%c\n%c", &a, &b );
[/code]

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