C语言中,设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a,b和c的值分别是 ?

为什么答案会是2,0,3的?求详细解析,谢谢O(∩_∩)O谢谢。。
2024年11月15日 11:15
有3个网友回答
网友(1):

a=b=1 //此时a值为1,b值为1;
a++ //a自增为2
b+1 //不对b的值产生任何影响
c=a+b-- //首先,b--优先运算,运算结果是1,然后b自减为0,此时a值为2,再算c,所以c值 为 a+(b--)值为2+1=3

网友(2):

a=b=1,//a=1 b=1 c=0

a++, //a=2 b=1 c=0
b+1, //a=2 b=1 c=0

c=a+b-- //a=2 b=0 c=3

//----------------------区别(i++)和(++i)-------给你个例子
int i=1;
int y=i++;// y=1 i=2 //i--同理
int i=1;int y=++i;// y=2 i=2 //--i同理

网友(3):

a=1 -> a++ (a=2)
b=1 -> b+1 (b=1) -> b-- (b=0)
c=a+b=2+1=3