面試題:for語句執行過程
阿新 • • 發佈:2019-02-15
題目一:(奇虎,360)
判斷for(int i=0,k=1;k=0;i++,k++)
A.判斷迴圈的條件不合法
B.陷入無限迴圈
C.迴圈一次也不執行
D.迴圈只執行一次
答案:C
解析:for(表示式1;表示式2;表示式3)…
題目中的”表示式2”也稱為”條件表示式”,寫成了k=0;,是賦值語句,所賦的值就是賦值語句的返回值,這個值正好是0,造成了for語句的條件為”假”,不會執行迴圈體,所以迴圈一次也不執行。
題目二:(阿里)
設m和n都是int型別,那麼下列for迴圈語句
for(m=0,n=-1;n=0;m++,n++)n++
A.迴圈體一次也不執行
B.迴圈體執行一次
C.無限迴圈
D.有限次迴圈
E.迴圈結束判斷條件不合法
F.執行錯誤
答案:A
解析:在for語句中,迴圈的條件表示式為n=0;,其含義是:先將0賦給變數n,然後再判斷n的值是否為0。顯然,進入迴圈判斷迴圈控制條件,不成立,根本不會進入迴圈體。
題目三:(中興)
迴圈:while(int i=0)i--;執行次數是
A.0
B.1
C.5
D.無限
答案:A
解析:迴圈while的條件表示式為 int i=0,其含義是:說明變數i並賦值為0,此時迴圈語句等價於while(0),迴圈條件永遠無法滿足,迴圈體不會被執行。