Programma che inverte le sottostringhe

di il
4 risposte

Programma che inverte le sottostringhe

Salve a tutti sto cercando di fare un programma che inverte tutte le sue sottostringhe formate da cifre numeriche lasciando invariato il resto. Esempio: as1234bc789h02468 diventerà as4321bc987h86420. Ho scritto tale codice ma quando lo compilo mi da "segmentation fault (core dumped)", non riesco a capire dove sbaglio... qualcuno può aiutarmi???
#include<stdio.h>
Void inverti_cifre(char *s){
Char *p,ch,*r;
While(*s){
      If((*s>=0)||(*s<=9)){          
        p=s;
      While((*s>=0)||(*s<=9))
        s++;
      
       r=s-1;
       While(p<r){
         ch=*p;
         *p=*r;
         *r=ch;
          p++;
          r--;
        }
    }
s++;
}
}
Int main(int argc,char *argv[ ]){
If (argc!=2){
Printf("numero illegale di parametri");
Return 1;
}
inverti_cifre(argv[1]);

Printf("%s",argv[1]);
Return 0;
}

4 Risposte

Devi accedere o registrarti per scrivere nel forum
4 risposte