Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Semplice problema in C
Forum - C/C++ - Semplice problema in C

Avatar
bomber (Normal User)
Newbie


Messaggi: 3
Iscritto: 26/10/2011

Segnala al moderatore
Postato alle 12:13
Mercoledì, 26/10/2011
Questo topic è stato chiuso dal moderatore

Salve a tutti sono alle prime armi con il C. stavo provando a fare un semplice programmino che data una stringa ne inverte le cifre.
Ho scritto il seguente codice, che compila senza errori ma poi si blocca subito. Dove ho sbagliato? Grazie a tutti per l'aiuto :)
Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. //prototipi delle funzioni
  6. void inverti(char*s);
  7. void swap(char *pa, char *pb);
  8. int main()
  9. {
  10.     printf("Programma in c che inverte le cifre di un numero......!\n");
  11.     printf("\n");
  12.     char x[5];
  13.     int i;
  14.     printf("inserisci numero da invertire...\n");
  15.     for(i=0;i<=4;++i)
  16.     {
  17.         scanf("%c",x[i]);
  18.     }
  19.     printf("\n");
  20.     inverti(x);
  21.     printf("numero invertito:\n \n");
  22.     for(i=0;i<=4;++i)
  23.     {
  24.         printf("%c",x[i]);
  25.     }
  26.  
  27.     return 0;
  28. }
  29.  
  30. //implementazione delle funzioni
  31. void swap(char *pa, char *pb) {
  32.    int temp;
  33.  
  34.    temp = *pa;
  35.    *pa = *pb;
  36.    *pb = temp;
  37. }
  38.  
  39.  
  40. void inverti(char*s)
  41. {
  42.     int i=0;
  43.     int j;
  44.     j=strlen(s)-1;
  45.     while(i<j)
  46.     {
  47.         swap(s[i],s[j]);
  48.         i++;
  49.         j--;
  50.     }
  51. }


PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 13:49
Mercoledì, 26/10/2011
Questo topic è in violazione di una o più norme del regolamento: http://www.pierotofy.it/pages/extras/forum/9/3839-regolame ... .
    
Dopo averlo letto riapri un nuovo topic assicurandoti di aver rispettato le regole. Grazie per la tua pazienza.


Ingegnere Informatico
https://ldlagency.it
PM