next up previous
Next: Funkcijski podprogrami Up: Vaje 4 Previous: Koliko časa urejamo?

Deklaracijski stavek

int a[10000]
printf("Napiši prvo število:\n")
...
scanf("%d", &a[i]);
Zapis: scanf("%d", &a[i]

postavi število na i-to mesto.

In kako naj sedaj iz niza znakov naredimo številko?

int l;             /* l pomeni število znakov*/
long st;           /* število, ki ga bomo dobili iz niza c */
char c[10];        /* v c-ju imamo na primer shranjene znake 17235*/
scanf("%s", c);
if((c[i] <= '9') && (c[i] >= '0'))
  printf("je število.");
else
  printf("ni število.");
l= strlen(c);      /* dolžina*/
st= 0;             /* na začetku je st 0 */
for(i=0; i<l; i++)
  st= 10*st + (c[i]-'0');

Če je v c-ju shranjeno na primer število 17235 kot niz. Kako dobimo iz niza število?

Ker je druga verzija boljša to zapišemo kot: st= 10*st + (c[i]-'0')

Andrej Brodnik (Andy)
Wed Feb 25 14:19:03 MET 1998