Problema in c

Sk_Anonymous
#include
#define N 20
int lenght(char *s);
int inverti(char *str,int n,char *result);
main(){
char mainstr[N];
int nmain=0;
char resultstr[N];

printf("\Inserisci la stringa iniziale \n");
scanf("%s", mainstr);
printf("\La stringa inserita e' %s \n",mainstr);
int lungh=0;

lungh=lenght(mainstr);
printf("\Inserisci n \n");
scanf("%d", &nmain);
printf("\ --- FUNZIONE INVERTI --- \n");


int p=0;
p=inverti(mainstr,nmain,resultstr);
}
int inverti(char *str,int n,char *result){
int i;

for (i=0; str!='\0'; i++)
result = str;
result[n] = '\0';
printf("\nstr e': %s \n",str);
printf("\nresult e': %s \n",result);
int k=0;
printf("\ --- contrario --- \n");
for (k=n;result[k]>=0;k--)
printf("%c",result[k]);
}
int lenght(char *s) {
int i;
for (i=0;s!='\0';i++);
printf("\nLa lunghezza della stringa e' :%d\n",i);}




purtroppo anche se taglia correttamente la stringa copiata result lascia caratteri strani.Dove sbaglio?

Risposte
Cheguevilla
Dipende da cosa vuoi ottenere.

Sk_Anonymous
Vorrei ottenere una stringa,(che è result ) che ha all' interno i primi n caratteri della stringa str letti al contrario

Fioravante Patrone1
[mod="Fioravante Patrone"]Chiudo, vedasi qui:
https://www.matematicamente.it/forum/pri ... 35972.html[/mod]

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.