Un momento que me explico: copie el codigo al editor, lo reindenté con el plugin de codeblocks de formato noseque y reorganizó un par de {, con eso se comprimieron lineas y en el resultado el punto y coma faltaba en la linea 23 que en el codigo colgado equivalia a la 25, y como no me di cuenta pues asi salido la respuesta.
Por cierto, el error lo marca en la linea 28 porque el 'if' no puede operar con el retorno entero de la funcion printf, es decir:
Código C:
Ver original//esto es correcto, otra cosa es que esté mal indentado
+ 4;
Código C:
Ver original//pero esto no porque no son operables
if(condicion) {}
De echo seguramente el compilador al detectar dos expresiones no operables te comentará que despues de la primera falta un punto y coma, pero eso no significa que el error sea que olvidaste el ; sino que tienes que revisar la relacion entre las dos expresiones.
Saludos
vosk