Ritorna alla pagina del corso.

Questa pagina contiene gli esercizi proposti in laboratorio e -alcune- delle soluzioni proposte.
Si suggerisce di provare a risolvere gli esercizi e solo in un secondo tempo di confrontare quanto fatto con le soluzioni proposte.

01: /*
02: 4. legga da tastiera due stringhe qualsiasi di massimo 10 caratteri e:
03:  - ne stampi la lunghezza (strlen())
04:  - le stampi in ordine "alfabetico" (strcmp())
05: */
06: 
07: #include<stdio.h>
08: #include<stdlib.h>
09: #include<string.h>
10: 
11: int main(int argc, char **argv){
12:   char s1[11], s2[11];
13: 
14:   printf("Inserisci una stringa: ");
15:   scanf("%[^\n]", s1);
16:   printf("Inserisci una stringa: ");
17:   scanf(" %[^\n]", s2); // attenzione, ci vuole uno spazio per fare in modo che la scanf() ignori l'"a capo" del precedente inserimento rimasto nel buffer di tastiera
18:   
19:   printf("Hai inserito le stringhe '%s' e '%s' che sono composte dal %ld e %ld caratteri rispettivamente\n", 
20:       s1,
21:       s2,
22:       strlen(s1),
23:       strlen(s2)
24:       );
25: 
26:   if(strcmp(s1, s2) > 0)
27:   {
28:     printf("In ordine ASCII sono %s e %s\n", s2, s1);
29:   }
30:   else
31:   {
32:     printf("In ordine ASCII sono %s e %s\n", s1, s2);
33:   }
34: 
35: 
36:   return 0;
37: }
38: 
39: