序列点问题
- 在C语言中,语句中的分号标记了一个序列点.
- 在我看来,序列点的作用就是:我将分号之前的命令完成之后我在转而完成下一个命令,就好比排队,必须有个先来后到.
- 任何一个完整表达式的结束也是一个序列点.
分析后缀递增何时发生
考虑下面一组代码
对于该例,C语言的初学者认为"先使用值,在递增他"的意思是,在printf()语句中先使用a,再递增他.但是,表达式a++<10是一个完整的表达式,根据序列点知识,我们知道
它必须在执行完该命令以后,才能进行下个序列点.
因为它是while循环的测试条件,所以该表达式的结束就是一个序列点.输出结果为: