6个回答
展开全部
后缀自增橘举对表达式的影响是,将变量的原值返回给表达式在自增,此处相当于保存a原值的副本(a=1),在两个a相加赋值渗伍袜给c,c就等于丛激2了,至于a变成了3,是因为他连续自增了2次
追问
为什么在c#中得到的结果不同的??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该a++表示的是运算了之后,再自加纯含1
所以伏坦在给C赋值的时缺裤桐候,a的值还是1;而a运算之后自加了两次,所以为3
所以伏坦在给C赋值的时缺裤桐候,a的值还是1;而a运算之后自加了两次,所以为3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a++和++a是不模首伏同的,a++就是此芹岩时运算是调用的是a的原值,旦携但是a实际的值已经做了两次加1运算,在不同的语言中,运算方法是不同的,所以出现值不一样很正常。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a++:先运算罩枯,在算a = a+1
题中:c = ( a++ ) + ( a++ ) 相当于: c= a+a 此时念樱a = 1 ,即 c= 1+1=2;
第一次a++(此时a =1) :a = a+1 = 1+1=2;
第二次a++(此时a= 上面第一次得到的a = 2:a=a+1=2+1 = 3
所以 c = 2; a = 3
若是++a 刚好反过来,先自加1,再进行运算!
希望能帮到物高洞你!!!
题中:c = ( a++ ) + ( a++ ) 相当于: c= a+a 此时念樱a = 1 ,即 c= 1+1=2;
第一次a++(此时a =1) :a = a+1 = 1+1=2;
第二次a++(此时a= 上面第一次得到的a = 2:a=a+1=2+1 = 3
所以 c = 2; a = 3
若是++a 刚好反过来,先自加1,再进行运算!
希望能帮到物高洞你!!!
追问
明白了 , 只是不知道为什么在不同的编译器结果也不同........................
追答
是,有的编译器是会不一样,vc6.vs.2010都是这样的,遵从主流嘛。。老的一些编译器是会有不一样的结果。。。至于为什么嘛,编译器设计不一样吧,我也懒得去弄,反正用最新的就好了嘛!!
如果满意,请采纳回答!谢谢!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这种代码简直就是为键租祥了考稿搏试出的嘛 可读性太差型烂了~前面几个人回答得很好了,我就不重复了~我是非常讨厌这种代码!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询