Разница между выражением c и выражением c ++
int main()
{
int i=3;
(++i)++;
printf("%d",i);
}
Эта программа работает с компилятором g ++, но не с gcc. Если я пишу i ++++ или ++ i ++, это не работает и в cpp. Я думаю, что есть разница между c-выражением и c ++ - выражением. Может кто-нибудь объяснить, L-значение и R-значение?