codeblocks调试C语言时无法输入

bywfssl 2017-06-22 11:08:43
这个程序是正确的,想学习使用调试,但是发现,单步运行到输入数值的时候,无法输入,如图所示,请大神指点一下,而且,我觉得调试的时候非常不方便,DOS框出来闪一下就自动最小化了,每运行一步都得手动再把DOS框还原,非常不方便,是这个软件的原因呢还是我没安装好呢?
...全文
1881 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACM小学生 2017-08-15
  • 打赏
  • 举报
回复
小黄三角指到scanf行时还未执行,需要再按一次F7往后执行一步,小黄三角消失,变为输入的光标时再去输入
赵4老师 2017-06-23
  • 打赏
  • 举报
回复
引用 11 楼 bywfssl 的回复:
[quote=引用 10 楼 zhao4zhong1 的回复:] [quote=引用 8 楼 bywfssl 的回复:] [quote=引用 6 楼 zhao4zhong1 的回复:] 该摔键盘的时候就摔! 摔完后捡起来继续。
大哥你真壕,不过应该有办法把DOS窗口始终放在其他窗口之上的吧[/quote] So easy! http://www.nirsoft.net/utils/nircmd.html nircmd win settopmost class "ConsoleWindowClass" 1 [/quote]我看了一圈,怎么没找到设置dos窗口为top的命令呢[/quote] 最下面的蓝色文字就是设置dos窗口为top的命令呀。 如果不管用,可能是不同OS下dos窗口的类名不同。使用Spy++软件获取实际的dos窗口的类名替换以上命令中的ConsoleWindowClass 高兴了你还可以设置dos窗口为半透明。
自信男孩 2017-06-22
  • 打赏
  • 举报
回复
是不是在main最后,return 0之前,加一句:system("pause");或者getch();
wang0635 2017-06-22
  • 打赏
  • 举报
回复
可以把codeblocks窗口缩小,使它与DOS窗口并排在桌面上,但是输入的时候还是要切换窗口的
bywfssl 2017-06-22
  • 打赏
  • 举报
回复
引用 10 楼 zhao4zhong1 的回复:
[quote=引用 8 楼 bywfssl 的回复:] [quote=引用 6 楼 zhao4zhong1 的回复:] 该摔键盘的时候就摔! 摔完后捡起来继续。
大哥你真壕,不过应该有办法把DOS窗口始终放在其他窗口之上的吧[/quote] So easy! http://www.nirsoft.net/utils/nircmd.html nircmd win settopmost class "ConsoleWindowClass" 1 [/quote]我看了一圈,怎么没找到设置dos窗口为top的命令呢
赵4老师 2017-06-22
  • 打赏
  • 举报
回复
引用 8 楼 bywfssl 的回复:
[quote=引用 6 楼 zhao4zhong1 的回复:] 该摔键盘的时候就摔! 摔完后捡起来继续。
大哥你真壕,不过应该有办法把DOS窗口始终放在其他窗口之上的吧[/quote] So easy! http://www.nirsoft.net/utils/nircmd.html nircmd win settopmost class "ConsoleWindowClass" 1
自信男孩 2017-06-22
  • 打赏
  • 举报
回复
引用 2 楼 bywfssl 的回复:
[quote=引用 1 楼 cfjtaishan 的回复:] 是不是在main最后,return 0之前,加一句:system("pause");或者getch();
加这两句的任何一句之后,只是在运行程序时暂停一下,但是调试模式中的问题并没有得到解决,我发现只要是单步运行到输入函数就无法输入任何数据,但是如果是光标放在scanf函数处直接点击调试就可以输入数据但是这时候按ent键之后直接输出结果了,无法观察各个变量的数据变化,我想要可以观察程序中各个变量的数据变化,传递的调试,不知道这种调试模式是怎么设置的[/quote] 这个输入应该是在软件的某个地方,建议你在网上搜一下这个软件的调试使用方法。
bywfssl 2017-06-22
  • 打赏
  • 举报
回复
引用 6 楼 zhao4zhong1 的回复:
该摔键盘的时候就摔! 摔完后捡起来继续。
大哥你真壕,不过应该有办法把DOS窗口始终放在其他窗口之上的吧
bywfssl 2017-06-22
  • 打赏
  • 举报
回复
我想把DOS窗口始终显示在其他窗口之上,这样我就能一边点执行下一行一边观察各个变量的变化了
赵4老师 2017-06-22
  • 打赏
  • 举报
回复
该摔键盘的时候就摔! 摔完后捡起来继续。
bywfssl 2017-06-22
  • 打赏
  • 举报
回复
引用 3 楼 wang0635 的回复:
单步操作,当小黄三角指到这一行的时候,意味着就要执行这一行的语句了,但是还没有执行。 再单步一次,才是执行语句。 只有执行scanf()函数调用语句时,才能输入。 你再试试
原来下一行和下一条指令是不一样的,我原来一直点的下一条指令,到scanf那里就点不动了所以也就无法输入了,用下一行按钮可以一行行的执行,能输入了,但是我还是要点一步下一行、还原一下DOS框看看,这样很麻烦啊,在实际开发中这样调试会想摔键盘的,有没有办法解决一下呢
赵4老师 2017-06-22
  • 打赏
  • 举报
回复
引用 3 楼 wang0635 的回复:
单步操作,当小黄三角指到这一行的时候,意味着就要执行这一行的语句了,但是还没有执行。 再单步一次,才是执行语句。 只有执行scanf()函数调用语句时,才能输入。 你再试试
wang0635 2017-06-22
  • 打赏
  • 举报
回复 2
单步操作,当小黄三角指到这一行的时候,意味着就要执行这一行的语句了,但是还没有执行。 再单步一次,才是执行语句。 只有执行scanf()函数调用语句时,才能输入。 你再试试
bywfssl 2017-06-22
  • 打赏
  • 举报
回复
引用 1 楼 cfjtaishan 的回复:
是不是在main最后,return 0之前,加一句:system("pause");或者getch();

加这两句的任何一句之后,只是在运行程序时暂停一下,但是调试模式中的问题并没有得到解决,我发现只要是单步运行到输入函数就无法输入任何数据,但是如果是光标放在scanf函数处直接点击调试就可以输入数据但是这时候按ent键之后直接输出结果了,无法观察各个变量的数据变化,我想要可以观察程序中各个变量的数据变化,传递的调试,不知道这种调试模式是怎么设置的

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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