I am doing programs in The C Programming Language by Kernighan and Ritchie.
I am currently at exercise 1-24 that says:
Write a program to check a C Program for rudimentary syntax errors like unbalanced parentheses, brackets and braces. Don't forget about quotes, both single and double,
escape sequences
, and comments.
I have done everything well... But I am not getting how escape sequences
would affect these parentheses, brackets and braces?
Why did they warned about escape sequences?
In "\""
, there are three double quote characters, but still it's a valid string literal. The middle "
is escaped, meaning the outer two balance each other. Similarly, '\''
is a valid character literal.
Parentheses, brackets and braces are not affected, unless of course they appear in a string literal that you don't parse correctly because of an escaped quote.
I'd guess they mean that you need to differentiate between "
(which starts or ends a string) and \"
(which is a "
character, possibly inside a string)
This is important if you're to avoid reporting e.g. strlen("\")");
as having unbalanced parentheses.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With