No both will not give lvalue error
Because, in 1st case 30 is an integer value which is inside a variable x and it is incremented, means operation is just post increment
x will replace with integer value, if it is a macro expansion. Then it will give lvalue error
Secondly, s is a pointer here. And pointer increment doesnot give lvalue error. Pointer gives lvalue error, when array value which works like pointer , need to pre or post increment. So, second one will also not give any error.