Sì ... infatti ... riporto il codice con le correzioni in grassetto ...Originariamente inviato da devil89
Ho provato ma non funziona...
Forse sbaglio io su qualcos'altro.
...
Fondamentalmente hai usato male i puntatori ...codice:#include <stdio.h> #define L_S 30 /* Lunghezza stringhe */ void leggi (char *s1, char *s2, int *i1, int *i2){ printf ("Inserire s1: "); scanf ("%s", s1); printf ("\n"); printf ("Inserire s2: "); scanf ("%s", s2); printf ("\nInserire i1: "); scanf ("%d", i1); printf ("\nInserire i2: "); scanf ("%d", i2); } /* leggi */ /* IP s1 IP s2 OP s3 */ void indici (char *s1, char *s2, char *s3, int i1, int i2) { char *p1= s1+i1, *p2=s2+i2; while (*p1) *s3++=*p1++; while (*p2) *s3++=*p2++; *s3='\0'; // o anche *s3=0; } /* mescola */ int main () { char s1[L_S], s2[L_S], s3[L_S]; int i1,i2; leggi(s1,s2,&i1,&i2); indici(s1,s2,s3,i1,i2); printf ("\n\nStringa alternata: %s\n\n\n", s3); system ("pause"); } /* main */

Rispondi quotando