
c语言问题~关于b++,++b
5个回答
展开全部
这个地方是一样的
说一下a++与++a运算符区别,
a++,这个表达式的作用是先返回a的值,再将a++
而++a,这个表达式的作用是先将a++,在返回a的值,
也就是说
a=0;b=a++;执行这两句后,b=a的值(0),在将a++,即a的值为1,b的值为0
a=0;b=++a;执行这两句后,先将a++,再b=a的值(1),即a的值为1,b的值也为1
通常,可以这样记
a++,a在前面,所以先返回是原来a的值,在做+法。
++a,++在前面,所以先做加法,在返回值是原来a的值+1.
说一下a++与++a运算符区别,
a++,这个表达式的作用是先返回a的值,再将a++
而++a,这个表达式的作用是先将a++,在返回a的值,
也就是说
a=0;b=a++;执行这两句后,b=a的值(0),在将a++,即a的值为1,b的值为0
a=0;b=++a;执行这两句后,先将a++,再b=a的值(1),即a的值为1,b的值也为1
通常,可以这样记
a++,a在前面,所以先返回是原来a的值,在做+法。
++a,++在前面,所以先做加法,在返回值是原来a的值+1.
展开全部
之前说错了额。
++b是先+1在用b的值
b++是先用b的值再+1
但是这里a+b计算结果是一样的
因为不论是先+1,还是后+1,a+b都是在其后进行的。此时b就是4
-----------------------
以下这种情况是有区别的
int b=0;
s[++b]=2; 相当于s[1]=2
而
s[b++]=2;相当于s[0]=2,但此时b已经是1了
++b是先+1在用b的值
b++是先用b的值再+1
但是这里a+b计算结果是一样的
因为不论是先+1,还是后+1,a+b都是在其后进行的。此时b就是4
-----------------------
以下这种情况是有区别的
int b=0;
s[++b]=2; 相当于s[1]=2
而
s[b++]=2;相当于s[0]=2,但此时b已经是1了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
巫马尓丝 说的对
(a=2,b=3,b++ , a+b)的值 和(a=2,b=3,++b , a+b)的值一样吗?
都是选择a+b的值作为最终的答案,这时题的重点在b++与++b上
(a=2,b=3,b++ , a+b)中b++是先把b的值赋值给b++,所以b++的值为3,而b的值为3+1=4;之后计算a+b=6
(a=2,b=3,++b , a+b)中++b是把3+1=4的值赋值给++b;这时++b=4,b=4,再执行a+b=2+4=6
所以表达式值相等
(a=2,b=3,b++ , a+b)的值 和(a=2,b=3,++b , a+b)的值一样吗?
都是选择a+b的值作为最终的答案,这时题的重点在b++与++b上
(a=2,b=3,b++ , a+b)中b++是先把b的值赋值给b++,所以b++的值为3,而b的值为3+1=4;之后计算a+b=6
(a=2,b=3,++b , a+b)中++b是把3+1=4的值赋值给++b;这时++b=4,b=4,再执行a+b=2+4=6
所以表达式值相等
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一样的,
++在前是立即自增,在++b的时候b已经是4了。
++在后的时候是延迟自增,在遇到第一个逗号,或者分号时候开始起作用,所以b++时候是3,但是到a+b的时候,b已经是4了。
所以这两个表达式都是6
你可以在百度百科查词条:逗号运算符,后边讲的很详细,有这个例子。
++在前是立即自增,在++b的时候b已经是4了。
++在后的时候是延迟自增,在遇到第一个逗号,或者分号时候开始起作用,所以b++时候是3,但是到a+b的时候,b已经是4了。
所以这两个表达式都是6
你可以在百度百科查词条:逗号运算符,后边讲的很详细,有这个例子。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
结果一样,这是一个逗号运算,结果是最后一个表达式的值,a=2,b=4.结果都是6.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询