char znak;
int value =0;
while((znak=getch())==' ');
printf("%c",wpis);
value = znak-'0';
while ((znak=getchar())>='0' && znak<='9')
printf("%c",znak);
value = 10*value + znak-'0';
printf("\n%i",value);
char znak;
int value =0;
while((znak=getch())==' ');
printf("%c",wpis);
value = znak-'0';
while ((znak=getchar())>='0' && znak<='9')
printf("%c",znak);
value = 10*value + znak-'0';
printf("\n%i",value);
nie musisz tego printf'owac, getchar() i tak poczeka na enter a poza tym masz tam
printf(..., wpis?)
while((znak=getch())==' '); //wywala spacje
printf("%c",znak); //wypisuje sobie pierwszy znaczek nie będący spacją
value = znak-'0'; //od tego znaczka odejmije '0' (48)
while ((znak=getch())>='0' && znak<='9') //dopuki bierze z klawiatury cyfry (tu chyba miało być getch(), bo getchar() to chyba sensu nie ma gdyż on to co weźmie wyrzuci na stdout
printf("%c",znak); //to je wywala na stdout
value = 10*value + znak-'0'; //(to już poza pętlą) czyli robi to co robi nie wiadomo po co
printf("\n%i",value);
czyli podsumowując wywala na stdout pierwszy znak różny od spacji a potem to już tylko same cyferki. liczy sobie coś głupio i wypisuje to na stdout. jako liczbe całkowitą ze znakiem.
lepiej by bylo tak:
<cpp>char c;
int liczba=0;
while( (c=getch()) != '\n' )
{
if(c==' ') printf("%c", ' ');
else if(c<'0' && c<'9')
{
printf("%c", c);
liczba=liczba*10 +c - '0'
}
}
printf("%d", liczba);
c>='0' && c<='9'