C: Funzione che riceve e restituisce una stringa

di il
2 risposte

C: Funzione che riceve e restituisce una stringa

Buonasera a tutti. Da poco tempo ho iniziato a scoprire il linguaggo c.
Propongo un esercizio che sicuramente potrebbe essere implementato in modo piu efficiente e "corretto", ma personalmente mi serve per capire il funzionamento e la logica delle funzioni.

Creare una funzione che riceva un vettore di caratteri e restituisca un nuovo vettore contenente la sequenza invertita. Esempio: la funzione deve trasformare "ciao" in "oaic".

Il programma compila e viene eseguito ma come risultato ottengo solo a la stampa della sequenza non invertita.
Quali sono gli errori? Vorrei sapere se questo e` il modo corretto di creare e richiamare funzioni che ricevono e restituiscono un vettore.
Grazie!!

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 10

char* reverse(char *);
int main()
{
char stringa[MAX];
char *st;
printf("inserisci stringa: ");
scanf("%s",stringa);
st=reverse(stringa);
printf("%s",st);
return 0;
}

char*reverse(char vet[])
{
char * vet2;
vet2=(char *)malloc(4*sizeof(char));
int i,j;
for(i=0, j=strlen(vet)-1; i<strlen(vet); i++, j--)
for(i=0, j=4; i<4; i++, j--)
{
vet2=*(vet+j);
}
return vet;
}

2 Risposte

Devi accedere o registrarti per scrivere nel forum
2 risposte