int k=0;while(k++<=2) printf("%d\n",k);的结果是1 2 3?和int k=0;while(k++<=2);printf("last=%d\n",k
3个回答
展开全部
while(k++<=2) printf("%d\n",k); 是循环语句,循环体是 printf("%d\n",k);
k++ 是后缀加,也就是在表达式里先用当前值,用过后再增1。
k++<=2 当 k=0,1,2 时做循环体,执行循环体三次 printf("%d\n",k); 里的 k 是增1后的k, 打印出 1,2,3。k++ 变 3 时 退出循环。退出循环后 k=4。由于没有后续打印语句,没显示出k=4的结果。
while(k++<=2); 有分号,虽 是循环语句,但循环体是空。
k=0,1,2 时做循环体,当前值 k=3 时 退出循环。由于k++ 是后缀加,退出循环后增1,变4。
后续是个打印语句 printf("last=%d\n",k);打印出 last=4.
k++ 是后缀加,也就是在表达式里先用当前值,用过后再增1。
k++<=2 当 k=0,1,2 时做循环体,执行循环体三次 printf("%d\n",k); 里的 k 是增1后的k, 打印出 1,2,3。k++ 变 3 时 退出循环。退出循环后 k=4。由于没有后续打印语句,没显示出k=4的结果。
while(k++<=2); 有分号,虽 是循环语句,但循环体是空。
k=0,1,2 时做循环体,当前值 k=3 时 退出循环。由于k++ 是后缀加,退出循环后增1,变4。
后续是个打印语句 printf("last=%d\n",k);打印出 last=4.
展开全部
while语句后面只能跟一个语句或者花括号括起来的语句块作为循环体。
你这段代码都是一个语句的情况
while(k++<=2) printf("%d\n",k); 循环体的语句就是那个printf
while(k++<=2);printf("last=%d\n",k); 注意括号后面的那个分号,那才是while的循环体,只有一个分号即一个空的语句。所以这个是等while循环完毕后再输出的。
为什么是4:循环的条件情况如下(k++返回的是k的原值,然后再加1)
第1次:k++<=2 真,执行之后k == 1
第2次:k++<=2 真,执行之后k == 2
第3次:k++<=2 真,执行之后k == 3
第4次:k++<=2 假(退出循环),执行之后k == 4
所以输出的是4
你这段代码都是一个语句的情况
while(k++<=2) printf("%d\n",k); 循环体的语句就是那个printf
while(k++<=2);printf("last=%d\n",k); 注意括号后面的那个分号,那才是while的循环体,只有一个分号即一个空的语句。所以这个是等while循环完毕后再输出的。
为什么是4:循环的条件情况如下(k++返回的是k的原值,然后再加1)
第1次:k++<=2 真,执行之后k == 1
第2次:k++<=2 真,执行之后k == 2
第3次:k++<=2 真,执行之后k == 3
第4次:k++<=2 假(退出循环),执行之后k == 4
所以输出的是4
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
while语句后面有分号说明只输出循环后的结果,没有分号说明要输出每一次循环中的结果
采纳我哦
采纳我哦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询