int k=4;do{k=k%3;} while(k--);循环几次? 50
展开全部
循环条件为 k--, 先取 k 的值作为循环判断条件,再将 k 的值减 1.
第一次循环时,k 等于 4, 会循环一次,此时 k 的值被减到 3
第二次循环时,k 等于 3, 会循环一次,此时 k 的值被减到 2
第三次循环时,k 等于 2, 会循环一次,此时 k 的值被减到 1
第四次循环时,k 等于 1, 会循环一次,此时 k 的值被减到 0
第五次判断循环条件 k 等于 0,循环不会进去,所以循环次数共 4 次。
第一次循环时,k 等于 4, 会循环一次,此时 k 的值被减到 3
第二次循环时,k 等于 3, 会循环一次,此时 k 的值被减到 2
第三次循环时,k 等于 2, 会循环一次,此时 k 的值被减到 1
第四次循环时,k 等于 1, 会循环一次,此时 k 的值被减到 0
第五次判断循环条件 k 等于 0,循环不会进去,所以循环次数共 4 次。
追问
那k=k%3需要考虑吗?
追答
需要考虑,我把前面那个忘掉了,重新分析下。
k 的初始值为 4, do while 循环为先执行,再判断 while 的条件,为真则继续,为假则退出。
第一次循环时,k 等于 4, 执行 k = k % 3, 此时 k 的值变为 1, while (k--) 循环会继续,但 k 的值会减到 0;
第二次循环时,k 等于 0, 执行 k = k % 3, 此时 k 的值变为 0, while (k--) 循环会退出,此时 k 的值变为 -1.
所以,总共循环 2 次,最终 k 的值为 -1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |