Invertire una stringa: algoritmo in C

      Nessun commento su Invertire una stringa: algoritmo in C

Molto spesso ci capita di dover invertire una stringa, per esercizio oppure per ne dobbiamo leggere un file al contrario.

20130209-021540.jpg

Nei moderni linguaggi di programmazione abbiamo una funzione apposita che fa tutto il lavoro per noi.
Andiamo però a vedere in ANSI C come si fa.

Ecco la funzione reverse che rigirerà la stringa ed il relativo main per vedere come richiamarla.

Ad esempio: CIAO diventerà OAIC

[code lang=”c”]
#include <stdio.h>
#include <string.h>

void reverse(char * stringa)
{
size_t i,j;
for(i=0, j=strlen(stringa)-1;i<strlen(stringa)/2;i++, j–)
{
char temp=stringa[i];
stringa[i]=stringa[j];
stringa[j]=temp;
}
}

int main(void)
{
char stringa[]="una stringa di testo di una certa lunghezza";
reverse(stringa);
printf("%s", stringa);
return 0;
}
[/code]

Questo è tutto. Davvero semplice.