dkfr.net
当前位置:首页 >> For(i=0,k=%1;k=1;k++) printF("*****\n");是先判... >>

For(i=0,k=%1;k=1;k++) printF("*****\n");是先判...

先判断、。。。。。。

赋值语句永远为真。

for(i=0,k=-1; k=1; k++) for语句中第一个语句(i=0,k=-1;)为初始赋值语句。第二个语句( k=1; )为循环判断语句,这里k=1是赋值语句,表逻辑判断时值为1,所以构成无限循环。 应该写成k==1;

一定是无线循环的,你这边的条件k=1是一个赋值语句,永远是对的,因此会无线循环下去。 当条件k=1时,是无限循环; 当条件k==1时,是一次也不执行。

如果k声明为带符号整形int,当k超过int能表示的最大值时,k++会变成负数,负数就是false,所以这时会退出for循环

一定是无线循环的,你这边的条件k=1是一个赋值语句,永远是对的,因此会无线循环下去。 当条件k=1时,是无限循环; 当条件k==1时,是一次也不执行。

for(i=0,k=-1;k!=1;k++) printf("*****\n"); k=1不是判断语句,这句话执行后真值永远是true,所以会一直执行

main() {int i,b,k=0; for(i=1;i=0) k++;} printf("%d,%d",k,b);}8,-2Press any key to continue//i = 1 b=1 b>=0时 k++ 第一次1%2 =1 所以k++ 同时 b-- 等于0 了 k再++一次 k等于2了 //第二次2%2 =0 k++ 0-- -1 所以i等于2时k只++一次 //i 等于...

B: 循环结束条件k=1这个赋值语句永远为真

int n[5]= {0, 0, 0}, /*n[0]~n[4]全部清零,赋予初始值为0*/ k=2; /*K初始化为2*/ /*进入循环*/ i=0; i

网站首页 | 网站地图
All rights reserved Powered by www.dkfr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com