2 votes 2 votes Inside a program loop if we write *ch1++ it will give "lvalue required" error but without any loop if we write even ++*ch1++; it will not give any lvalue error. Why? Programming in C programming-in-c + – srestha asked Oct 24, 2017 • edited Oct 24, 2017 by srestha srestha 680 views answer comment Share Follow See all 14 Comments See all 14 14 Comments reply Show 11 previous comments AskHerOut commented Oct 24, 2017 reply Follow Share srestha, ch1 is a constant pointer, you cant change its value -_- 2 votes 2 votes srestha commented Oct 24, 2017 reply Follow Share yes , that I know But why giving lvalue? 0 votes 0 votes AskHerOut commented Oct 24, 2017 reply Follow Share Because its treating ch1 as a constant, and you need to have a variable on the left hand side so that a value can be assigned to it. So if you write a constant on LHS you get an Lvalue required error. 2 votes 2 votes Please log in or register to add a comment.