輸出結果:
1
1 3 5 7 9
一般寫法:
#include
#include
int func(int n)
if(n < 5)
if(n > 100)
for(int i=0; iprintf("%d\n", p[i]);
}ret = 1;
printf("free(p)");
free(p);
return ret;
}int main()
else
return
0;}
輸出結果:
error
總結:這種寫法當滿足if
條件時,函式直接return
,而沒有free(p)
,因此會導致記憶體洩漏。可以使用do
和break
結合使用。修改**如下:
#include
#include
int func(int n)
ret = 1;
}while(0);
printf("free(p)\n");
free(p);
return ret;
}int main()
else
return
0;}
輸出結果:
free
(p)error
7 迴圈語句
i 1while i 4print hello i 1 每次自增長1 執行結果 注 一定要有能終止迴圈的語句,否則出現死迴圈 for i in range 10 range 起始值 預設0 終止值 必填 步長 預設1 print i 列印10以內的基數 for i in range 1 10,2 p...
C語言高階 7 迴圈語句
迴圈語句的基本工作方式 通過條件表示式判定是否執行迴圈體 條件表示式遵循if語句表示式的原則 do while for語句的區別 do語句先執行再判斷,迴圈體至少執行一次 while語句先判斷後執行,迴圈體可能不執行 for語句先判斷再執行,相比while更加簡潔。do.while的迴圈方式 do ...
c語言回顧7 迴圈語句
基本工作方式 通過條件表示式判定是否執行迴圈體。do,while,for的區別 do先執行後判斷,迴圈體至少執行一次 while先判斷後執行,可能一次都不執行。for先判斷後執行,比while更簡潔 各種迴圈回顧 1 do while 格式 先do在判斷條件,至少使用一次 do while cond...