对于用&&amp ;;定义的c中的循环

时间:2014-02-02 21:14:04

标签: c

这只是一个例子,但在这个循环(或任何其他循环)中实际上是什么逻辑和(&&)运算符。 并且这条线中的“&&”意味着“等于&&(first-> number == end-> number)”,知道equal是一个像布尔一样使用的int - 它存储0或者1。

    for(i=1; i<=n/2 && equal; i++){
        equal=equal&&(first->number==end->number);
        first=first->next;
        end=end->previous;
    }

1 个答案:

答案 0 :(得分:1)

只有当i<=n/2equal都为真时,循环才会继续(如果!= 0,则equal被视为为真。)

equal=equal&&(first->number==end->number);

这一行意味着equal只有在它已经为真并且条件first->number==end->number也为真时才为真。

因此,您的代码正在向前移动列表的开头,向后移动,只有当您到达列表的一半(n/2)或者第一个和最后一个值不同时,它才会停止。