C - 10 - Esercizio sulle stringhe (inversa di una stringa tramite strlen)

Поделиться
HTML-код
  • Опубликовано: 26 дек 2024

Комментарии • 47

  • @laislam6599
    @laislam6599 4 года назад +2

    Mi stai aiutando davvero tanto a capire in pochi minuti di video quello che non ho capito per più di un mese con i prof in uni.. Bravissimo davvero!

  • @albertovalsania8656
    @albertovalsania8656 4 года назад

    Carmhack no 1 tutta la vita.

  • @OmemaGharsellaoui
    @OmemaGharsellaoui Год назад

    grazie mille

  • @carmhack
    @carmhack  11 лет назад +5

    Il doppio uguale ( == ) si usa per il confronto. Dovresti mettere i = 0.

  • @carmhack
    @carmhack  11 лет назад +2

    Per le stringhe nella scanf non si usa la &. Inoltre, non avrebbe senso scrivere nome[20]. L'hai già dichiarata per un massimo di 20 char, poi devi prenderla in input, controllando che la stringa inserita da tastiera non superi la dimensione che hai impostato. Ci sono funzione della libreria che lo fanno in automatico.

  • @carmhack
    @carmhack  12 лет назад +2

    Basta che nella printf inserisci
    , che è un carattere di escape che serve per andare a capo.

  • @wrait9
    @wrait9 11 лет назад

    Grazie

  • @carmhack
    @carmhack  9 лет назад +1

    Ciao Gabriele. Accade perché , se hai usato la scanf, la stringa dopo lo spazio non è stata catturata in memoria e quindi non funziona. Usa la fgets se vuoi registrare stringhe con spazi compresi. Ho fatto un tutorial anche su questo!

  • @angelogreco9204
    @angelogreco9204 9 лет назад

    come mai da un momento all'altro il cursore cambia: prima funziona normalmente, ovvero quando clicco si interpone tra due caratteri e inserisce i nuovi; dopo un po (può darsi dovuto a qualche mio errore) il cursore si posiziona sotto il carattere e lo va a sostituire quando ne inserisco uno nuovo (cosa molto fastidiosa)... uso anche io code blocks...
    comunque grazie per i tutorial, sono veramente ben fatti e finalmente inizio a capirci qualcosa!!

  • @nicolaibarbarasa26
    @nicolaibarbarasa26 8 лет назад

    grazie !!!

  • @xiaolinye1180
    @xiaolinye1180 7 лет назад +1

    salve, come si inverte la sequanza di una frase? tipo= io mangio una mela , mela una mangio io?

  • @TheLizardNerd
    @TheLizardNerd 4 года назад

    Ciao! Non ho ben capito la differenza tra char b = "stringa" e char a = 'b'. Inoltre poi perché dopo aver illustrato questa differenza passi a char nome[20]? Grazie

  • @pernfuitar
    @pernfuitar 9 лет назад

    ciao scusami, non scrivendo il -1 dentro l'if non mi stampa a schermo la parola data.. se lo metto invece si, come mai? ho ricontrollato il codice uguale al tuo, se può essere utile uso codelite 7.0 su os x 10.10.3

  • @carmhack
    @carmhack  12 лет назад +1

    Perchè dovresti mettere la s? La n sta per "newline" cioè "a capo", praticamente. Se scrivi %c scrivi un carattere alla volta, se scrivi %s scrive l'intera stringa.

  • @nexy8966
    @nexy8966 6 лет назад

    come fai a riempire il vettore senza dichiararlo?

  • @wrait9
    @wrait9 11 лет назад

    Ciao, prima di tutto complimenti per tutti i tutorial, sono fatti molto bene. Grazie!
    Avevo una piccola domanda, perchè sotto "come ti chiami" nella scanf %s non c'è poi &nome[20] (come mi verrebbe da mettere) ma solo nome ? (senza neanche [20]).

  • @jinayorobo
    @jinayorobo 3 года назад

    Ciao grazie per questo bel tutorial ho un problema. Sto facendo un esercizio dove chiedo all utente di inserire una serie di stringhe perciò con un for e dopo trasformarle in maiuscolo se sono in minuscolo. Non ho idea come fare il ciclo di conversazioni in maiuscolo. Puoi aiutarmi facendo un tutorial sul problema

  • @KOZZAK81
    @KOZZAK81 12 лет назад

    come posso fare a distanziare il nome che mi restituisce in uscita dalla scritta premere un tasto per continuare?

  • @francescoagostinelli4943
    @francescoagostinelli4943 8 лет назад +1

    Alla variabile nome gli.hai assegnato la lunghezza di 20 caratteri,ma è un valore ha caso oppure ce un ragionamento dietro ? Se tu avessi scritto:char nome [7], non sarebbe stato uguale ? Oppure avrebbe causato problemi ? Rispondimi pleaseeee

    • @carmhack
      @carmhack  8 лет назад +1

      Semplicemente metto 20 perchè è difficile che ci sia un nome più lungo di 20 caratteri. Avrei anche potuto mettere 12, tanto per intenderci. Se metto 5 poi naturalmente non posso inserire nomi di 6 caratteri.

  • @carmhack
    @carmhack  12 лет назад +2

    Ah ok, scusa :)

  • @gabrielegiuliani1753
    @gabrielegiuliani1753 9 лет назад +2

    Ciao.
    Scusa ho un domanda:
    Se metto nome è cognome, inverte solo il nome, ovvero tutto quello che è scritto prima dello spazio. Se lo spazio non lo metto inverte tutto! Come mai?
    Grazie!

  • @DiodatoScarpato
    @DiodatoScarpato 11 лет назад

    (riga 19) Ho provato a levare il -1 da strlen(nome) ma non mi cambia nulla nel terminale. Sai svelare l'arcano? Io sto provando su ubuntu ma credo che non dovrebbe cambiare niente.

    • @carmhack
      @carmhack  11 лет назад +1

      In che senso non ti cambia nulla? Stampa lo stesso output che hai con il -1?

    • @DiodatoScarpato
      @DiodatoScarpato 11 лет назад

      esattamente

    • @carmhack
      @carmhack  11 лет назад +1

      Strano.. il resto del codice è uguale? sicuro?

    • @DiodatoScarpato
      @DiodatoScarpato 11 лет назад

      Si. Io mi trovo con quello che dici perchè sto studiando il linguaggio C. Però poi nella pratica non mi trovo, e non mi stampa a video lo spazio. Questo è il codice senza il -1:
      #include
      #include
      int main()
      {
      char nome[20];
      int i;
      printf("Come ti chiami?
      ");
      scanf("%s", nome);
      for (i=strlen(nome); i>=0; i--){
      printf("%c", nome[i]);
      }
      printf("
      ");
      return 0;
      }

    • @carmhack
      @carmhack  11 лет назад +1

      Non so dirti.. sicuro di aver ricompilato? Mai capitata una cosa del genere ..

  • @florinlepsa7174
    @florinlepsa7174 11 лет назад

    ciao! perchè mi da errore la printf? nn mi fa eseguire il programma.

    • @carmhack
      @carmhack  11 лет назад +1

      Dipende cosa hai scritto dentro la printf.. controlla bene :)

    • @florinlepsa7174
      @florinlepsa7174 11 лет назад

      ho controllato ma nnt, nn sarà per caso che nn ho la libreia?

    • @carmhack
      @carmhack  11 лет назад +1

      La libreria devi averla per forza.. prova a ricompilare. A volte i compilatori danno strani problemi..

  • @AlexandroSollai
    @AlexandroSollai 10 лет назад

    ciao TheCarmhack , sono un tuo nuovo "fedele" ahahah.
    Come faccio a prendere il nome di cui ho cambiato l'ordine e salvarlo in una stringa vuota?

  • @XxXCorryXxX
    @XxXCorryXxX 9 лет назад +1

    Ehiii non è che potresti fare un video dove spieghi il getchar e il putchar o qualcosa di alternativo? sto capendo le altre cose grazie a te, ma questi argomenti non li ho visti nei tuoi video e quindi mi sento un po' persa xD grazie :*

    • @carmhack
      @carmhack  9 лет назад +3

      Clincesca_ Vedrò di accontentarti :)

    • @XxXCorryXxX
      @XxXCorryXxX 9 лет назад

      TheCarmhack grazie mille! :)

  • @KOZZAK81
    @KOZZAK81 12 лет назад

    no non hai capito...., volevo capire perche' TU avevi inserito %c....l..ora ho capito che sta a significare de stampare un carattere per volta...:D grazie

  • @carmhack
    @carmhack  12 лет назад +2

    Si davo per scontato che tu avessi inserito %s e non %c.

  • @KOZZAK81
    @KOZZAK81 12 лет назад +1

    praticamente mi esce una cosa cosi'......
    onairdaPremere un tasto per continuare . . . :O

  • @lucia1060
    @lucia1060 11 лет назад

    come faccio ad andare a capo?se metto
    mi scrive tutte le lettere in verticale, va a capo ad ogni carattere.

    • @carmhack
      @carmhack  11 лет назад +2

      Inserisci
      al termine della stringa, non al termine di ogni carattere..

  • @KOZZAK81
    @KOZZAK81 12 лет назад

    ho provato a fare "
    %c" , mi scrive il nome al contrario
    o
    n
    a
    i
    r
    d
    aPremere un tasto per continuare. . . :(

  • @KOZZAK81
    @KOZZAK81 12 лет назад

    ho sbagliato volevo dire "%c
    ".....ma poi .. perche' mettiamo la lettera n e non s??? :(

  • @KOZZAK81
    @KOZZAK81 12 лет назад

    figurati ,scusa di cosa? :D

  • @KOZZAK81
    @KOZZAK81 12 лет назад

    no , guarda che se metto
    dopo il %c mi visualizza in questa maniera...
    o
    n
    a
    i
    r
    d
    aPremere un tasto per andare avanti