C语言里++是右往左算,a++*a为什么不算++呢??????、好奇怪。a=3时,结果是9、右结合性去了哪里?
3个回答
展开全部
a++是先调用a的值再把a自增1
所以a++*a,就是先算3*3的值,再a自增一变成4
不信可以在程序结尾输出a的值,是4
如果你的代码换成++a*a,那么结果就是9了
PS:
a++是先调用后自增
++a是先自增后调用
所以a++*a,就是先算3*3的值,再a自增一变成4
不信可以在程序结尾输出a的值,是4
如果你的代码换成++a*a,那么结果就是9了
PS:
a++是先调用后自增
++a是先自增后调用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你理解错了右结合型的意思了。
++从右往左算的意思是说:
a+++++b时,会先计算右边的那个(++b)就是先处理右边的操作数
即:a++
+(++b)。这个才是右结合性的意思哦。
++从右往左算的意思是说:
a+++++b时,会先计算右边的那个(++b)就是先处理右边的操作数
即:a++
+(++b)。这个才是右结合性的意思哦。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询