Vorrei chiedervi un'informazione riguardo la funzione getchar del codice c.
Non ho ancora capito bene come funziona l'acquisizione dei caratteri nel vettore, e come far terminare il vettore con un carattere prefissato.
Prendiamo un esempio:
Acquisire da tastiera al massimo 10 numeri e memorizzarli in un vettore. Per terminare l'acquisizione digitare /. Il vettore deve inoltre terminare con il carattere nullo \0
Ho provato a scrivere il codice:
- Codice: Seleziona tutto
#include <stdio.h>
#define DIM 10
int main ()
{
char c, numeri[DIM];
int i=0;
while ((c=getchar())!='/' && i<DIM)
{
numeri[i++]=c;
}
numeri[i+1]='0';
printf("Numeri: %s", numeri);
return 0;
}
Tre cose non mi sono chiare!
1) perché se inserisco la sequenza: 123456 mi viene stampato 123456 e se invece inserisco la sequenza 0123456789/ mi viene stampato: 0123456789/0?
2) Come posso fare per non memorizzare il carattere di fine immissione /?
3) Se io inserisco la sequenza: 012345678912/ come mai mi viene stampato 012345678910, non dovrebbe essere sbagliato, in quanto il vettore numero ha dimensione 10, in questo caso invece mi viene stampato un vettore con dimensione 12!
Grazie mille, scusate ma ho un bel po' di confusione su questo argomento! Se un vettore ha dimensione 10, e chiedo di immettere numeri fino a quanto i è minore di 10, il programma non dovrebbe scartare tutti i numeri che non rientrano più nel vettore?
Ciaoo

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)

).
instead of
(Anonimo).
ain't
, right?
in lieu of
.
for
arithm.



