01: // passaggio array ad una funzione
02: #include<stdio.h>
03: #include<stdlib.h>
04: #include<string.h>
05: #include<ctype.h>
06:
07: // questa funzione prende in ingresso una stringa e la converte in maiuscolo
08: void uppercase(char []); // la funzione prende in ingresso un array di char, si noti che e' del tutto inutile indicare le dimensioni
09:
10:
11: int main(int argc, char **argv){
12:
13: char testo[1000]; // array in cui memorizzero' la stringa, sto largo per sicurezza
14:
15: printf("Inserisci una frase: ");
16: scanf("%[^\n]", testo);
17:
18: printf("DEBUG: la frase inserita e' [%s] ed e' costituita da %lu caratteri ed e' memorizzata in un array di %lu char\n", testo, strlen(testo), sizeof(testo));
19:
20: uppercase(testo);
21:
22: printf("Dopo la chiamata di funzione la frase e' diventata [%s]\n", testo);
23:
24:
25:
26: return 0;
27: }
28:
29:
30:
31:
32:
33: // NOTA: non sto passando un array generico ma una stringa, grazie alla strlen() e' semplice sapere quanto
34: // e' lunga
35: void uppercase(char mystr[])
36: {
37: printf("DEBUG: la frase passata alla funzione e' [%s] ed e' costituita da %ld caratteri. Il parametro della funzione ha dimensione %ld byte\n", mystr, strlen(mystr), sizeof(mystr));
38:
39: for(int i=0; i<strlen(mystr); ++i)
40: mystr[i] = toupper(mystr[i]);
41: }
42:
Se avete commenti o osservaƶioni su questa pagina
mandate un messaggio di posta elettronica a bertoƶƶi@ce.unipr.it
mandate un messaggio di posta elettronica a bertoƶƶi@ce.unipr.it