关于自加与自减符号的一点小小疑惑

本文探讨了C++中的自增自减运算符在不同情况下的行为,通过实例代码分析了运算顺序和结果。指出,自增自减运算符的处理并不总是简单地按三步进行,其实际行为依赖于运算符的位置和上下文。作者通过实验验证了自己的理解,并提出了判断和应用这些运算符的一些建议。
摘要由CSDN通过智能技术生成

例如:main()
{ int x=8,y,z;
y=(++x)+(x++)+(++x);
z=(–x)+(x–)+(++x);
printf(“y=%d,z=%d,x=%d”,y,z,x);
}
则经过运算,y的值为30、z的值为33。而变量x的值为10。

自增自减的总结

对于含有自增和自减运算的表达式,C语言系统一般按以下三步来完成计算
① 将所有先自增、自减运算抽出进行计算。
② 计算的结果带入表达式中,计算表达式的值。
③ 再将所有后自增、自减运算抽出进行计算。

上例中的表达式y=(++x)+(x++)+(++x); C语言系统先进行两次x的自增计算,使x的值由8变为10。然后将10带入表达式中计算(即计算“x+x+x”),得结果30,并赋给变量y。最后再进行一次x的后自增计算,使变量x的值由10变为11。

注意:
当自增、自减运算出现在函数的参数中时,它们不按该方法进行计算。在函数中的计算方法由C语言系统采用扫描格式决定。函数的参数中都避免使用自增、自减运算符。

————————————————
版权声明:本文为CSDN博主「Weiwei yixiao」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zch0127/article/details/52891980
这段代码与结论,结合我自己碰到的一些题目,我对这段结论提出了质疑。
然后我在vc上和dv上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值