c語言中for迴圈條件正反方向分析

2021-10-02 18:57:50 字數 580 閱讀 5022

已知:要取線性表中的與value相等的那個元素的直接前驅

方法一:正向思維,遍歷線性表,返回與value相等的那個值的直接前驅

for(p=temp->list;p<=temp->list+length-1;p++)

} return false; //不要忘掉,未進入for迴圈或for迴圈退出,也要進行返回

方法二:逆向思維,遍歷線性表,過濾掉與value不相等的那些值,退出迴圈後,就可以找到符合條件的值。

for(p=temp->list;p<=temp->list+length-1&&*p!=value;p++)

//不滿足迴圈條件,退出

if(p<=temp->list+length-1)     //是*p==value的情況         

return false;         //是p>temp->list+length-1的情況

總結:正向思維方法,是在for迴圈內返回值;

逆向思維是在for迴圈外返回值,結構更加清晰!

c語言中for迴圈條件的邏輯分析

for p temp list length 1 p value p 不滿足迴圈條件,退出 if p temp list length 1 是 p value的情況 return false 是p temp list length 1的情況 分析 當p temp list length 1 或者 p...

C語言中的條件編譯

條件編譯的功能使得我們可以按不同的條件去編譯不同的程式部分,因而產生不同的目 標 檔案。這對於程式的移植和除錯是很有用的。條件編譯有三種形式,下面分別介紹 第一種形式 ifdef 識別符號 程式段 1 else 程式段 2 endif 它的功能是,如果識別符號已被 define 命令定義過則對程式段...

C語言中的條件編譯

很久沒更新了。因為工作之後比較忙,更多的學習記錄會寫在公司的wiki裡 目前在公司主要做c c 原來了解不夠深入,所以目前從基礎開始簡單記錄一點東西。條件編譯相關的預編譯指令,包括 define undef ifdef ifndef if elif else endif defined。define...