I believe the problem has nothing to do with ch. After editing the question, and rereading everything carefully, including the raw post in edit, here's where I see the problem.
The first error is this:
readability.c:36:9: error: expected expression
char ch = s[i];
That "expected expression" error usually happens because there's ...
You have identified the variables correctly, but used your brackets and keywords wrongly. Inside the for loop, you open a if statement bracket but don't close. In your control_caesar_key function, you wanted to use a for loop and wrote down the condition properly, but you replace the keyword for with the keyword if. Along with that, you will be required to ...
Simple syntax error.
int get_index(string s);
This is the first line of the actual function, not a signature-only line. There should not be a semicolon. If this were a signature-only line at the top of the file, then you would need the semicolon.