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