int k=1; while(k- -); printf(“%d”,k); 答案是什么,顺便给个过程谢谢
1个回答
展开全部
第一次循环:测试的是k=1,也即while(1),符合循环条件,然后k自减变成0,进入循环体(空循环)。
第二次循环:测试的是k=0,也即while(0),不符合循环条件,然后k自减变成-1,跳过循环体。
所以最终输出的是-1
第二次循环:测试的是k=0,也即while(0),不符合循环条件,然后k自减变成-1,跳过循环体。
所以最终输出的是-1
追问
第二次为什么不符合
追答
while循环的过程是这样的:
while(循环条件)
{
循环体
}
只有当循环条件成立时,进入到循环体里面。而循环条件无非就是逻辑上的是和非,在计算机里,是一般用非零表示,非一般用零表示。你只要知道循环条件是一个逻辑表达式就行了,这个逻辑表达式可以是一个表达式,也可以是一个数,实际上while(k--);等价于while(k != 0) k--;这样明白了么。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询