Final answer:
The statement is true; in ANSI C, it is legal to have an empty block which is a compound statement enclosed by braces with no declarations or statements inside.
Step-by-step explanation:
The statement that a block in ANSI C can legally be empty is true. In ANSI C, a block is a compound statement enclosed by curly braces { and }. It is used to group a set of statements together to form a single statement. A block may contain zero or more declarations and statements. Therefore, it is completely legal in ANSI C to have a block that contains nothing between the braces, effectively making it an empty block.
An example of an empty block is:
{
// This is a legal empty block in ANSI C
}
An empty block might be used in places where the syntax requires a statement but the logic does not require any action, like in the body of a loop that does nothing but waits for an interrupt or a condition to change. This is common in embedded systems programming.