C89 cannot mix variable declarations and code.
printf("Hello World!\n");
int x = 7;
printf("%d!\n", x);
return 0;
This is a very serious restriction for me.