副作用和顺序点

副作用(side effect):  副作用是对数据对象或文件的修改。

顺序点(sequence point): 顺序点是程序执行中的一点;在该点处,所有的副作用都在进入下一步前被计算。

  1.) 在C中,语句里的分号标志了一个顺序点

  2.) 任何一个完整的表达式的结束也是一个顺序点(完整表达式: 一个完整的表达式(full expression)是这样一个表达式----它不是一个更大的表达式的子表达式。完整表达式的例子包括一个表达式语句里的表达式和在一个while循环里作为判断条件的表达式。)

 

y = (4 + x++) + (6 + x++);

表达式4 + x++ 不是一个完整表达式, 所以C不能保证在计算字表达式4 + x++后立即增加x。

posted @ 2014-08-20 16:56  挨踢淫才  阅读(302)  评论(0编辑  收藏  举报