問題:設m和n都是int類型,那么以下for循環語句,( )
# include <stdio.h>
int main()
{
int m,n;
for(m=0,n=-1;n=0;m++,n++) //for(變量賦初值;循環判斷條件;變量計算) 0為false,非零為true
{
n++;
printf("%d",n);
}
return 0;
}
循環體一次也不執行;
實驗:當n=0時,編譯通過,不顯示任何數字;當n=1時,編譯通過,運行結果無限顯示222....;當n=-1時,編譯通過,運行結果無限顯示0000
分析:判斷條件n=0,無論何時,n都被賦值為0,而賦值表達式的返回值即被賦值本身,即0,從而被認為是false,因此,for語句的循環體從來不會被執行。