4
while 后面是分号,表示循环语句为空,k=3时跳出循环,然后执行k++,最终k=4。
while(k++<=2)printf("last=%d\n",k)注意括号后面的那个分号,那才是while的循环体,只有一个分号即一个空的语句。所以这个是等while循环完毕后再输出的。
为什么是4:循环的条件情况如下(k++返bai的是k的原值,然后再加1)
第1次:k++<=2 真,执行之后k == 1
第2次:k++<=2 真,执行之后k == 2
第3次:k++<=2 真,执行之后k == 3
第4次:k++<=2 假(退出循环),执行之后k == 4
所以输出的是4
扩展资料:
for表达式
表达式1:一般为赋值表达式,给控制变量赋初值;
表达式2:关系表达式或逻辑表达式,循环控制条件;
表达式3:一般为赋值表达式,给控制变量增量或减量。
语句:循环体,当有多条语句时,必须使用复合语句。
判别表达式2是否满足给定条件,若其值非0,满足循环条件,则执行循环体内语句,然后执行表达式3,进入第二次循环,再判别表达式2……;否则判断表达式2的值为0,不满足条件,就终止for循环,执行循环体后语句。
参考资料来源:百度百科-循环语句
intk=0
while(k=1)
//这里k=1的运算结果(赋值运算)恒为真,永远是1,所以是死循环。
k++的改变到这里就被1给覆盖了。
k++
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)