PDA

View Full Version : [C] Problema puntatori


c&c
18-12-2005, 11:21
Ciao a tutti ho 2 problemi con i puntatori.
1. devo creare un programma che acquisisca da tastiera N caratteri, con l'utilizzo dei puntatori (non una parola intero, perchè quello lo so fare):
ex. programma che ho in mente:

char *p, var[N];
for(p=var;cosa devo mettere qui; cosa devo mettere qui)
scanf("%c", &*p);
2. problema con la malloc. alloco della memoria però poi non riesco a muovermi all'interno
ex programma che ho in mente:

int *p;
p = malloc(10*sizeof(char));
for(;cosa devo mettere qui; cosa devo mettere qui)
scanf("%c", &*p);

byez..

andbin
18-12-2005, 11:53
char *p, var[N];
for(p=var;cosa devo mettere qui; cosa devo mettere qui)
scanf("%c", &*p);
Ciao, il for probabilmente non è il costrutto più adatto per fare quello che devi fare. Devi leggere caratteri fino a quando la scanf non ti ritorna EOF e fino a quando non hai immesso al massimo N caratteri. Io quindi lo farei così:

#define N 10 /* Max 10 caratteri */

...

int r, n;
char *p, var[N];

p = var;
n = 0;

do
{
r = scanf ("%c", p);

if (r != EOF)
{
p++;
n++;
}
} while (r != EOF && n < N);

c&c
18-12-2005, 13:11
Grazie mille, ora ho capito. Alla prossima.
byez, e buone feste a tutti :D