Visualizzazione dei risultati da 1 a 9 su 9

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di ace.
    Registrato dal
    Oct 2013
    Messaggi
    6
    invece di incrementare i valori puntati dai puntatori con i due + (ad esempio *v++), prova a fare normalmente cioè *v+=1....può sembrare strano ma se non ricordo male una volta ho avuto un problema simile.

  2. #2
    Grazie XD,
    Ho fatto come mi hai consigliato e adesso tutto funziona correttamente.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Quote Originariamente inviata da ace. Visualizza il messaggio
    invece di ...
    ... oppure utilizza le parentesi correttamente

    (*c)++;
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Quote Originariamente inviata da ace. Visualizza il messaggio
    invece di incrementare i valori puntati dai puntatori con i due + (ad esempio *v++), prova a fare normalmente cioè *v+=1....può sembrare strano ma se non ricordo male una volta ho avuto un problema simile.
    Non è strano, semplicemente l'operatore ++ ha priorità superiore rispetto a *, per cui se scrivi *v++ è come scrivere *(v++) (incrementa il puntatore e poi dereferenzia), quando quello che vuoi è, come ha scritto correttamente oregon, (*v)++ - dereferenzia il puntatore e incrementa il valore a cui puntava.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Ok questo spiega tutto :-) grazie a tutti,
    Per curiosità personale, ho provato a fare lo stesso codice ma in c++ ed ho notato che gli array char non riconoscono gli spazi, ho cercato di informarmi su come poter fare ma non ho trovato soluzioni alternative , qualcuno ha qualche idea?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.