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

为什么答案会是2,0,3的?求详细解析,谢谢O(∩_∩)O谢谢。。

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追问

哦,谢谢O(∩_∩)O,可以再回到我一个问题么?就是:执行语句:for(i=1;i++<4 ;)后,变量i的值是()?为什么答案是5的?

追答

i=1时,i++值为1,而i自增为2
i=2时,i++值为2,而i自增为3
i=3时,i++值为3,而i自增为4
i=4时,i++值为4,此时明显不符合4<4,所以跳出循环,但是i已经又自增了,已经变为了5
所以i跳出循环时值为5

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-25
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同理追问

O(∩_∩)O谢谢。。好详细

追答

O(∩_∩)O~呵呵,客气

本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网