Comment by twic
I interpret "don't allow unintialized locals when declared" as meaning that this call:
int n = scanf("%d %d %d", &x, &y, &z);
Would be caught, because it takes references to undeclared variables. To be allowed, the programmer would have to initialize the variables beforehand.
Then people would complain about the wasteful initialisation of out-params. Foolishly, perhaps