Possibly because declarations were originally not statements in C? You could only declare variables at the start of a function, but not assign them to something at the same time.
Not sure why it still wouldn’t be allowed, though, especially if an empty statement can be a statement.