我读过逗号运算符用于分配表达式,并将正确的表达式提供给左值。
但是为什么这个程序在不使用括号时将左表达式分配给左值。我使用的是turbo c编译器
int b=2;
int a;
a=(b+2,b*5); // prints 10 as expected
a=b+2,b*5; // prints 4 when not using parenthesis
还有以下作品
int a =(b+2,b*5);
这会产生错误,我无法理解原因。
int a =b+2,b*5; // Error