A1)
int j;
int i = 3;
j =(i++, i++, i++);//i = 6; j = 5;
A2)
int x;
int i = 3;
x = (++i, i++, i+10);//i = 5; x = 15;
A) 例子为逗号表达式,i 在遇到每个逗号后,认为本计算单位已经结束,i 这时候自加。
//B1)
int i = 3;
for(i = 0; i < 10; i++)
{
//code
}
//i = 10;
//B2)
int i;
for (i = 0, printf("First = %d\t", i);
printf("Second = %d\t", i), i < 10;
i++, printf("Third = %d\t", i))
{
printf("Fourth = %d\n", i);
}
//i = 10;
B) for循环先自增再判断。
逗号表达式从左向右执行,最后一个执行的结果作为逗号表达式的返回值。
//C1)
int k;
int i = 3;
k = (i++) + (i++) + (i++);
//i = 6; k = 9;
//C2)
int k;
int i = 3;
k = ++i + ++i + ++i;
//i = 6; k = 18;
C) 例子C1遇到分号才认为本计算单位已经结束,i 这时候自加。
>>>摘至《C语言深度解剖》2.7++、--操作符