Un esercizio dice: scrivete una funzione che prenda un valore intero e lo restituisca dopo aver invertito le sue cifre. Per esempio, dato il numero 7631, la funzione dovrà restituire 1367.
Io saprei fare questo esercizio nel caso in cui il numero di cifre del numero fosse specificato, ma in questo caso non lo è. Ho scritto una bozza che per ora dovrebbe solo scrivere tutte le cifre del numero staccate di uno spazio, ma mi crea il ciclo infinito e non ho capito il motivo:
#include<stdio.h>
#include<stdlib.h>
void invertire(int x);
int main()
{
int valore, a, a1, i;
printf("Inserire un valore intero di 4 cifre: ");
scanf("%d", &valore);
invertire(valore);
system("pause");
}
void invertire(int x)
{
int i;
for(i=x;i>=1;i=i%10){
printf("%d ", i);
}
printf("\n");
}