PDA

Visualizza la versione completa : [C] Array di char


theziocloud
24-07-2014, 20:07
Ciao ragazzi,

Se provo ad assegnare una serie di caratteri ad un char ovviamente vengono memorizzati solo i primi 8 bit e quindi una solo lettera.

So che in c in questi casi si usano array di char ma non riesco a trovare informazioni su internet.

Quindi vi chiedo potete modificare questo codice in modo da integrare questa feature? e magari linkarmi una guida?



#include <stdio.h>


main()
{


char nome;


printf ("Ciao. Come Ti chiami? \n");
scanf ("%c",&nome);
printf ("quindi il tuo nome ");
printf ("%c",nome);
return 0;
}

Eduadie
24-07-2014, 21:05
Naturalmente deve essere ci che tu hai menzionato, un array.
Nel tuo caso non lo poich il char memorizza un solo carattere.
Per farlo diventare array devi fare in questo modo:


#include <stdio.h>
#define MAXCHAR 20

int main()
{
char nome[MAXCHAR];

printf ("Ciao. Come Ti chiami? \n");
gets(nome);
printf ("quindi il tuo nome ");
puts(nome);
return 0;
}

Inoltre come puoi vedere opportuno utilizzare gets e puts rispettivamente per memorizzare e mostrare in output il tuo array di char per correttezza sintattica.
Queste informazioni puoi reperirle in internet facilmente o in qualsiasi manuale che sia tale poich ci sar sicuramente un capitolo dedicato agli array.

oregon
24-07-2014, 21:28
non riesco a trovare informazioni su internet

Veramente impossibile .... o non hai affatto cercato oppure non hai visto le migliaia di risposte possibili

http://lmgtfy.com/?q=C+char+array

theziocloud
25-07-2014, 00:19
Naturalmente deve essere ci che tu hai menzionato, un array.
Nel tuo caso non lo poich il char memorizza un solo carattere.
Per farlo diventare array devi fare in questo modo:


#include <stdio.h>
#define MAXCHAR 20

int main()
{
char nome[MAXCHAR];

printf ("Ciao. Come Ti chiami? \n");
gets(nome);
printf ("quindi il tuo nome ");
puts(nome);
return 0;
}

Inoltre come puoi vedere opportuno utilizzare gets e puts rispettivamente per memorizzare e mostrare in output il tuo array di char per correttezza sintattica.
Queste informazioni puoi reperirle in internet facilmente o in qualsiasi manuale che sia tale poich ci sar sicuramente un capitolo dedicato agli array.

Grazie mille!!

@oregon ho cercato ma non ho trovato o ho skyppato le possibili soluzioni al mio problema

Alex'87
25-07-2014, 00:49
gets(nome);.

gets sconsigliata in quanto pericolosa, usa fgets al suo posto ;)

Eduadie
25-07-2014, 02:45
gets sconsigliata in quanto pericolosa, usa fgets al suo posto ;)

Anche questo giustissimo. E' da un p che non uso C e qualche particolare potrebbe sfuggirmi :)

Loading