for (c = i, f = HT[i].parent; f != 0; c = f, f = HT[f].parent)
{
...
}
语句c = i, f = HT[i].parent和语句c = f, f = HT[f].parent在什么时候执行?是分别在每次循环开始和结束之后吗?
for (c = i, f = HT[i].parent; f != 0; c = f, f = HT[f].parent)
{
...
}
语句c = i, f = HT[i].parent和语句c = f, f = HT[f].parent在什么时候执行?是分别在每次循环开始和结束之后吗?
收起
在这个for
循环中,c = i, f = HT[i].parent
是初始化语句,它只在循环开始之前执行一次。而c = f, f = HT[f].parent
是迭代语句,它在每次循环体执行之后执行。
循环的执行流程如下:
c = i, f = HT[i].parent
f != 0
true
,执行循环体内的代码块。c = f, f = HT[f].parent
这意味着c = i, f = HT[i].parent
设置了循环的初始条件,而c = f, f = HT[f].parent
更新了循环的状态以进行下一次迭代。
报告相同问题?