這個第二空是為啥
uj5u.com熱心網友回復:
一個等號是賦值,執行到得0為止。uj5u.com熱心網友回復:
int main(int a,char ** str)
{
int x=2,y=12,z=6;
while(x!=y)
{
x++;z++;y--;
}
printf("z=%d\n",z);
x=2;y=12;z=6;
while(x=y)
{
x++;z++;y--;
}
printf("z=%d\n",z);
}
結果:
uj5u.com熱心網友回復:
Q1:z=11----------
x=12 y=12 z=6
x=11 y=11 z=7
x=10 y=10 z=8
x=9 y=9 z=9
x=8 y=8 z=10
x=7 y=7 z=11
x=6 y=6 z=12
x=5 y=5 z=13
x=4 y=4 z=14
x=3 y=3 z=15
x=2 y=2 z=16
x=1 y=1 z=17
Q2:z=18
uj5u.com熱心網友回復:
代碼是這個:int main(int a,char ** str)
{
int x=2,y=12,z=6;
while(x!=y)
{
x++;z++;y--;
}
printf("Q1:z=%d\n----------\n",z);
x=2;y=12;z=6;
while(x=y)
{
printf("x=%d y=%d z=%d\n",x,y,z);
x++;z++;y--;
}
printf("Q2:z=%d\n",z);
}
uj5u.com熱心網友回復:
因為判斷的是x = y;運算式,這個運算式為假時退出回圈,而假即為0,就是y=0時就是回圈的退出條件。所以是y=12回圈12次,即z += 12;即18注意x = y這里是賦值,最終y決定while回圈退出~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/235147.html
標籤:C語言
下一篇:無法回傳表頭
