搞不清楚C语言内外循环顺序
发布网友
发布时间:2022-04-20 06:35
我来回答
共3个回答
热心网友
时间:2022-07-12 23:33
外循环for(i=0;i<2;i++)
做了两次循环,分别是在i=0和i=1时;
内循环for(j=0;j<=3;j++)
做了两次循环,分别是在j=0、j=1、j=2、j=3时;
但是真正主内循环里的x++语句起作用的只有当j=1、j=3时
main()
{int i,j,x=0;
for(i=0;i<2;i++) //做了两次循环,分别是在i=0和i=1时;
{x++; //此语句执行了两次
for(j=0;j<=3;j++) //做了两次循环,分别是在j=0、j=1、j=2、j=3时;但是真正主内循环里的x++语句起作用的只有当j=1、j=3时
{if(j%2) continue;
x++; //此语句执行了2*2=4次
}
x++; ////此语句执行了两次
}
printf("x=%d\n",x);}
A.x=4 B.x=8 C.x=6 D.x=12
所以总共自加了8次!
热心网友
时间:2022-07-12 23:33
for(i=0;i<2;i++)->
i=0;
执行for(j=0;j<=3;j++){}循环,如果j是偶数,跳过循环体里边往下的内容,不执行x++,否则执行x++;循环结束x++。
接着i++,i变成1;
执行for(j=0;j<=3;j++){}循环,如果j是偶数,跳过循环体里边往下的内容,不执行x++,否则执行x++;循环结束x++。
接着i++,i变成2,不满足i<2条件,外层循环也结束。
打印
热心网友
时间:2022-07-12 23:34
这个大括号和小括号的感觉是一样的,只是一个是对表达式,一个是对语句块,
首先进入for(i=0;i<2;i++) 循环,然后进入for(j=0;j<=3;j++) (j%2)表是如果这个数不能被2整除,就跳出本层循环,这里只是跳过for(j=0;j<=3;j++) 中的一个循环,也就是说J的当数的时候不会执行X++
这样写会不会清楚了