У меня есть:
#include<stdio.h>
int main()
{
int a=5,b=6;
(a>b)?b=a:b=b; // Here is the error
return 0;
}
Но если я заменю:
(a>b)?b=a:b=b; // Error
with
(a>b)?(b=a):(b=b); // No-Error
Я понимаю, что lvalue
- это значение, для которого что-то можно назначить, и как оно отличается от rvalue
, но почему значение extra parenthesis
делает разницу.