Dev-C++单步调试方法

前言

最近在看FishC大佬的C++教程,遇到一堆问题,慢慢写吧。

如何使用Dev-C++软件调试

调试程序如下:

#include <stdio.h>
#include <stdlib.h>

void main()
{
      int i;
      int sum = 0;
      char ch;

      printf("请输入一串整数和任意数目的空格: ");

      while( scanf("%d", &i) == 1 )	//stdlib中的scanf用来接收,如果接收正常,返回值为1 
      {
            sum += i;

            while( (ch=getchar()) == ' ' )// 如果截取到空格,while语句不执行任何操作 即为屏蔽空格 
                  ;
            if( ch == '\n' ) //如果接收到空格则跳出循环 
            {
                  break;
            }

            //ungetc( ch, stdin );//将变量ch中存放的字符退回给stdin输入流。 
            /*
            如果注释掉上面这行,程序输出将会错误,比如输入22,33,33,44时正确答案应该是132,但实际只得到了32.
			为什么呢?因为只进行了计算22,3,3,4共32,而其将第一个3,第一个4都丢弃掉了.
			*/
            

      }
      
      printf("结果是: %d", sum);
      printf("\n");
      system("pause");
}

Dev-C++软件版本:v5.11

 在调试上述程序的时候,

第一步-添加断点

添加断点,即单机左侧,整行代码变红即为已经添加成功。

第二步-添加变量

添加一个你需要观察的变量,选中这个变量,右击选择“添加查看”即可

第三步-调试运行

点击调试按钮

跳出命令行窗口

按下回车键即可。

第四步-单步调试

此时点击下一步按钮,进行单步调试,

 可以看到左侧调试框中出现了之前设置的观察变量的值。

此时可以观察到变量i的变化情况,12, 4,6,8加起来刚好是30。所以需要添加一行代码

ungetc( ch, stdin );

用处是将变量ch中存放的字符再退回给stdin输入流,而不至于丢失。

 

  • 10
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值