关于序列点以及副作用的问题。
一段不完整代码如下:
int age=20;
while(age++<=65) // 第二行
{
if((age%20)==0) // 第四行
printf("You are %d.",age);
}
这段代码运行后是不会输出age=20的这一情况的,不太清楚为什么。想问一下在while循环测试条件中的自增运算符++对age影响的整个过程是怎样的。
<=这类关系运算符之后用到的与65比较的数值是递增后的age还是未递增的?副作用是发生在<=之前还是在整个age++<=65测试条件求值之后呢?C语言中有哪些常见序列点?副作用只在序列点之后发生吗?