Witam, robię program, który nalicza znaki aż do wciśnięcia klawisza K, jednak nalicza mi 2 razy więcej liter niż powinno:
#include <stdio.h>
int main()
{
char znak;
int all=0, lg=0;
printf("Wpisuj litery, jesli chcesz zakonczyc wcisnij ""K"":\n");
for(;;)
{
scanf("%c", &znak);
if (znak=='K') break;
all++;
if ((znak <='Z')&&(znak >='A')) lg++;
}
printf("Wpisales %d liter i %d wielich liter.\n", all, lg);
}
Gdy wpisze np. "c, a, G, K" to wyskakuje mi "Wpisales 6 liter i 1 wielich liter."
Gdy jednak zamiast
all++
napisze if ((znak>='A')&&(znak<='z')) all++;
to wszystko działa dobrze.