C学习

本文介绍了C语言编程中常见的陷阱:避免在同一个变量上使用多次增量或减量运算符,尤其是在函数参数或表达式中,以防产生不可预期的结果。文章解释了副作用与顺序点的概念,并说明了为何这些操作可能导致结果偏离预期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Come From 《C Primer Plus》


1 101页介绍,通过以下两条原则,可以避免在出现异常结果

a)如果一个变量出现在一个函数的多个参数(形参)中时,不要将曾量活减量运算符用在它们上面

b)当变量出现在一个表达式中时,不要将增量或减量运算符用在它们上面

为什么要避免这两点,原因见103页“副作用与顺序点”。副作用:指程序代码对数据对象或者文件的修改,简单理解就是左值被修改了;顺序点:一个顺序点是程序中执行的一点,在该点处,所有副作用都在进入下一步前被计算,在C语言中一个顺序点由一个分号标记,这意味着一个赋值语句中,赋值运算、增量运算、减量运算所做的全部改变必须在程序进入下一个语句前发生。

由于前面两种情况都是在一个顺序点之前,即在一条语句中,所以其执行顺序可能是从左到右,也可能是从右到左,这由不同的编辑器决定,所以最后的值可能和设计者的意向相差甚远。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值