Come invertire la stringa in C che utilizza le matrici senza muovere più Volte

April 4

Inversione di una stringa in C è un buon esercizio per praticare la vostra comprensione di array di caratteri, loop e deposito temporaneo. Un programma per attraversare la stringa una sola volta per invertire è più efficiente di un programma che deve attraversarlo più volte. Ciò è particolarmente importante quando si tratta di grandi stringhe. Chiedere una programmazione lavoro candidato a scrivere qualche variazione di un semplice algoritmo C stringa di inversione rende questo un popolare domanda colloquio di lavoro.

istruzione

1 Aprire il file sorgente C in un editor, ad esempio Microsoft Visual Studio.

2 Includere i file di intestazione C necessari per il programma aggiungendo il seguente codice nella parte superiore del file:

includere "stdafx.h" includere "stdio.h" // printf, scanfinclude "string.h" // strlen

3 Dichiarare e inizializzare le variabili necessarie per il programma aggiungendo il seguente codice nella parte superiore del vostro funzione principale:

char str [40];
int a, b, lunghezza;
Temp char;
a = b = lunghezza = temp = 0;

4 Richiedere all'utente una stringa di invertire aggiungendo il codice:

printf ( "Inserire una stringa:");
scanf ( "% s", str);

5 Loop attraverso la stringa e reverse aggiungendo il codice:

lunghezza = strlen (str);
for (a = 0, b = lunghezza-1; a <= b, un ++, b--)
{
temp = str [a];
str [a] = str [b];
str [b] = temperatura;
}

Il ciclo accede il primo e l'ultimo carattere e swap loro valori, usando una variabile temporanea. E poi avanza di un carattere in ogni direzione, continuando a scambiare caratteri fino al centro della corda.

6 Visualizzare la stringa invertita aggiungendo il codice:

printf ( "% s", str);

7 Salvare il file C. Compilare ed eseguire il programma per invertire una stringa.