co tu nie gra?

0
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);
0
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?)
0

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.

0

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);

0

c>='0' && c<='9'

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