Though C89 does not support declaration of a scoped loop variable like C99 does:
for(int i = 0; i < 10; i++) {
// ...
}
C89 does support declaration of variables at the top of braced blocks whose scope is limited to that block: {
int i;
for(i = 0; i < 10; i++) {
// ...
}
}