Esercizio Funzione Numero Invertito

di Anonimizzato29959 il
7 risposte
Salve a tutti... Nella printf finale mi stampa un numero differente e con più cifre rispetto a quello definito inizialmente. QUalcuno potrebbe aiutarmi? grazie mille

/*Scrivere una funzione che riceve un valore intero e restituisce il numero con le sue cifre invertite.*/
#include <stdio.h>
#include <stdlib.h>

/*Definire il prototipo*/
int invert(int x);

int main() {
    int N,N_invert;
    
    printf("Inserire un valore intero: ");
    scanf("&d",N);
    
    N_invert=invert(N);
    printf("Il numero invertito e' il seguente %d\n",N_invert);

    return 0;
}

int invert(int x){
    int val=0;
    while(x!=0){
        val=val*10+x%10;
        x=x/10;
    }
    return val;
}

7 Risposte

  • Ma tu controlli il codice che scrivi o lo posti subito sul forum?

    E' importante controllare quello che si fa e sbatterci un po' la testa, fa parte della programmazione, anzi, è la parte più complicata.

    Questa linea

    scanf("&d", N)

    non ha senso.
  • Controllo attentamente il codice poi ovviamente se non funziona credo sempre che abbia sbagliato nell'impostare l'esercizio ...
  • E quindi avevi controllato la scanf? Esegui il codice linea per linea con il debugger?
  • Si...
  • Scusami ma non ti capisco. Hai corretto e risolto?
  • Sisi
  • Ah, ok, di nulla.
Devi accedere o registrarti per scrivere nel forum
7 risposte