ciao a tutti, nonostante i mattoni di manuali in C non sono ancora riuscito a capire bene come acquisire in input n stringhe di array.
Vi riporto il codice di una array di stringhe definito:
- #include<stdio.h>
#include<string.h>
void printf_string(char *p[],int n);
int main(){
char *s[5]={"uno","due","tre","quattro","cinque"};
print_string(s,5);
return 0;
}
void printf_string(char *p[],int n){
int i;
for (i=0;i<n;i++)
{
printf(" %s ",p[i]);
}
output é: "uno due tre quattro cinque ".
fin qui ci sono ma cosa bisognerebbe fare se il vettore di stringhe deve essere aquisito in input?
io ho provato cosi ma non funziona:
- #include<stdio.h>
#include<string.h>
void printf_string(char *p[],int n);
int main(){
char s[100],n,i;
char *str; //forze
for (i=0;i<n;i++)
{
// ad ogni ciclo aquisisco una stringa da input da memorizzare nell'array
scanf("%s",s);
}
print_string(s,n);
return 0;
}
void printf_string(char *p[],int n){
int i;
for (i=0;i<n;i++)
{
printf(" %s ",p[i]);
}
}
la funzione mi stampa i l'ultima stringa acquisita in input.
dove sbaglio?