Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C++] puntatore non modifica variabile

    Salve,

    Ho una funzione che prende come parametro un puntatore ad int. Quando vado ad effettuare un operazione, il valore non viene modificato.
    Nello specifico (mettendo che il puntatore sia *numero): *numero%10.
    E' vero che per modificare il valore bisogna usare =, infatti se io facessi *numero = 12, funziona senza problemi.
    Però vorrei sapere come effettuare un %10. Ecco il codice:

    codice:
    #include <iostream>
    using std::cout;
    using std::endl;
    using std::cin;
    
    void impostaCifre(int*, int*);
    
    int main()
    {
    
     int array[30], cifra;
     cout << "Inserisci una cifra: " << endl;
     cin >> cifra;
     int *cifra_ptr = &cifra;
     impostaCifre(array, cifra_ptr);
     
      return 0;
    }
    
    void impostaCifre(int *array, int *cifra)
    {
     *cifra%10;
     cout << *cifra << endl;
    
    
     
    
    }
    So che è una domanda banale, forse conosco la risposta ma non mi viene in mente...

    Buona giornata.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326

    Re: [C++] puntatore non modifica variabile

    Originariamente inviato da signoredeltempo
    Nello specifico (mettendo che il puntatore sia *numero): *numero%10.
    E' vero che per modificare il valore bisogna usare =, infatti se io facessi *numero = 12, funziona senza problemi.
    Metti insieme le due cose e hai risolto.
    every day above ground is a good one

  3. #3
    Intendi *numero %=10?

  4. #4
    Ho risolto, mi sembrava strano perchè inizialmente ho provato %= 10, però mi ha dato un numero (da me) non previsto.
    A livello teorico, perchè non si può fare *numero%10?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Perché stai facendo un'operazione senza salvarne il risultato da nessuna parte.
    Alcuni compilatori, con appositi livelli di warning impostati, potrebbero anche segnalartelo. Il gcc ad esempio lo fa con -Wall:

    codice:
    warning: statement with no effect
    every day above ground is a good one

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 © 2025 vBulletin Solutions, Inc. All rights reserved.