01: // precedenza diversa da ordine di valutazione
02: #include<stdio.h>
03: #include<stdlib.h>
04:
05: int main()
06: {
07: int x;
08:
09: // printf restituisce il numero di caratteri stampati: ad esempio printf("x") restituira' 1 visto
10: // che viene stampato un singolo carattere
11:
12: // quindi posso usare la printf() in espressioni matematiche
13: x = printf("A") + printf("B") * printf("C");
14:
15: // visto che * ha precedenza rispetto + prima verra'
16: // "valutata" come printf("A") + (printf("B") * printf("C"))
17:
18: return 0;
19: }
20:
21: // la precedenza raggruppa A + (B * C), quindi x vale 1 + 1*1 = 2
22: // ma l'ordine in cui vengono chiamate le printf NON e' definito dal C:
23: // l'output potrebbe essere ABC, BCA, CBA... dipende dal compilatore
24:
Se avete commenti o osservazioni 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