Zliczanie znaków bez enter

0

Witam. Mam napisać program w C, który przy pomocy pętli for będzie mi zliczał poszczególne znaki (znaki maja być wprowadzane pojedynczo za pomocą scanf).
Napisałem taki program:

#include <stdio.h>
#include <string.h>
#include <conio.h>
int main(void)
{
char s;
int n,sa=0,i,zi=0;
printf("Zadanie 4.2\n");
printf("\nPodaj ilosc elementow ciagu = ");
scanf("%d",&n);
for(i=1;i<=n;i++)
{printf("Podaj znak s = ");
scanf("%c",&s);
if(s=='a'||s=='A')// punkt a
{sa=sa+1;}	
if(s==','||s==';'||s=='.')	//punkt b
{zi=zi+1;}		
}
printf("/\n\nZadanie4.2a");
printf("Litera 'A' wystepuje %d razy",sa);
printf("\n\nZadanie4.2b");
printf("Znak ',' i ';' i '.' wystepuje %d razy",zi);
return 0;
}

i mam problem, ponieważ program zlicza mi również "enter". Co zrobić żeby tego nie liczył?

0

Zamiast

scanf("%c", &s);

użyj

scanf(" %c", &s);

Wtedy scanf "pochłonie" wszystkie spacje, taby i między innymi znak nowej linii.

0

Ok. Dzięki za pomoc. Już działa.

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