在嵌套循环中的死循环问题

elimentli 2016-01-10 07:54:27


#include<stdio.h>
int main()
{

int j=10;
int k=10;
while(j--)
{

while(k--)
{
printf("%d",k);

}

}


//这样会 输出一堆负数是为什么?
// 如果把k--挪到循环体内,把条件改为k>0 就恢复正常了


printf("over");
return 0;

}
...全文
272 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_33741304 2016-01-14
  • 打赏
  • 举报
回复
虽然是新手,但是while()在C中是一个循环结构吧括号内是条件。
赵4老师 2016-01-11
  • 打赏
  • 举报
回复
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
GreySky0012 2016-01-10
  • 打赏
  • 举报
回复
while(k--) { printf("%d",k); } 这个循环的终止条件是k--为0,即k为0时,执行之后k的值为-1. 终止之后进入下一次外层循环,然后又开始执行内层循环,此时k=-1,递减无法到0,所以一直循环输出负数

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧