LEXICAL ANALYSIS: The scanner looks at the word $\verb|then|$. In many languages (like Pascal or Basic), $\verb|then|$ is a valid keyword. In C, the scanner simply sees the characters $\verb|t-h-e-n|$ and identifies them as a valid identifier (like a variable name). Since it is a valid sequence of characters, there is no Lexical Error.
Syntax ANALYSIS: $\verb|if(a < b) then }|$ is not a valid syntax
Either $\verb|{ }|$ should come immediately after if or there should be semicolon after then
Hence it will generate syntactic error
Correct option: C