C语言自增运算符怎么理解?

怎么解释C语言中不能运行++i++呢?

#include 
#include 

int main()
{
    int i = 4;
    printf("%d", ++i++);
    printf("%d", i);
    system("pause");
    return 0;
}

这个直接报错了:lvalue required as increment operand

img

img

加个括号可以运行了,但是还是有警告

#include 
#include 

int main()
{
    int i = 4;
    printf("%d", (++i)++);
    printf("%d", i);
    system("pause");
    return 0;
}

有警示:

img

++i++,后置++的优先级高一些,i++得到的是一个值,对一个值是不能自增的,就如同3++会报错一样

英语中add是加,plus是加,但不代表这addplus是加啊