ESERCIZIO STRINGA

di il
5 risposte

ESERCIZIO STRINGA

Salve a tutti. Ho svolto il seguente esercizio di invertire una stringa di n caratteri... All'atto della printf ripete la stessa frase all'unisono. Non comprendo quale sia l'errore. Grazie a mille a chi mi aiuterà
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LENGTH 50

int main(void) {
    char s[LENGTH+1],ch;
    int i,j;
    
    printf("Inserire una stringa, massimo di 49 caratteri: ");
    i=0;
    while((i<LENGTH)&&(ch=getchar())!='\n'){
        s[i]=ch;
        i++;
    }
    s[i]='\0';
    
    printf("La stringa letta al contrario e' la seguente: \n");
    for(j=strlen(s)-1;j>=0;j--){
        printf("%s",s);
    }
    s[j]='\0';

    return 0;
}

5 Risposte

  • Re: ESERCIZIO STRINGA

    
    #include <stdio.h>
    #include <string.h>
    
    int main(void) {
        char s[50];
        int j;
        
        printf("Inserire una stringa, massimo di 49 caratteri: ");
        fflush(stdout);
        scanf(" %49s", s);
        
        printf("La stringa letta al contrario e' la seguente: ");
        for(j=strlen(s)-1;j>=0;j--)
            putchar(s[j]);
            
        return 0;
    }
    
  • Re: ESERCIZIO STRINGA

    Ciao

    Direi che la printf la devi modificare così

    da
    printf("%s",s);
    a
    printf("%c",s[j]);
    altrimenti ti stampa l'intera stringa ogni volta
  • Re: ESERCIZIO STRINGA

    In realtà non inverti la stringa ma la "visualizzi invertita". Se devi invertire la posizione dei caratteri, il codice è diverso.
  • Re: ESERCIZIO STRINGA

    oregon ha scritto:


    In realtà non inverti la stringa ma la "visualizzi invertita". Se devi invertire la posizione dei caratteri, il codice è diverso.
    Capisco
  • Re: ESERCIZIO STRINGA

    Ringrazio tutti
Devi accedere o registrarti per scrivere nel forum
5 risposte