Exemple de programme avec des expressions non définies :
#include <stdio.h>
int v1;
int f(int v2){ return v1+v2; }
int main(void){
int v3=v1++,v4=v1;
printf("v3=%d v3=%d\n",v3++,v3);
printf("v4=%d\n",v4);
printf("f=%d\n",f(v1++));
v1=v1++;
printf("v1=%d\n",v1);
return 0;
}
$ gcc -Wall effets.c -o effets
effets.c: In function ‘main’:
effets.c:6:26: warning: operation on ‘v3’ may be undefined [-Wsequence-point]
effets.c:9:3: warning: operation on ‘v1’ may be undefined [-Wsequence-point]
$ ./effets
v3=0 v3=1
v4=1
f=3
v1=3