¿Por qué no funciona a +++++ b?

int main ()
{
   int a = 5,b = 2;
   printf("%d",a+++++b);
   return 0;
}

Este código da el siguiente error:

error: se requiere lvalue como incremento de operando

Pero si pongo espacios en todoa++ + y++b, entonces funciona bien.

int main ()
{
   int a = 5,b = 2;
   printf("%d",a++ + ++b);
   return 0;
}

¿Qué significa el error en el primer ejemplo?

Respuestas a la pregunta(8)

Su respuesta a la pregunta