code::Block单步调试中的一个问题

简介:   zhixing909090给我来信说Code::Block中单步执行时的问题,我让他/她发来程序。  程序是:#include <iostream>using namespace std;int main( ){ double r1,r2,r; //定义变量,用来表示待串联的电阻值及并联后的电阻值 cout<<"请输入两个电阻的阻值:";

  zhixing909090给我来信说Code::Block中单步执行时的问题,我让他/她发来程序。

  程序是:

#include <iostream>
using namespace std;
int main( )
{
    double r1,r2,r; //定义变量,用来表示待串联的电阻值及并联后的电阻值
    cout<<"请输入两个电阻的阻值:"; //输出字符串,作为对“用户”的提示
    cin>>r1>>r2; //由用户输入待串联的电阻值
    r=r1+r2; //实现计算,将r1+r2的结果赋值给r
    cout<<"串联后的阻值为:"<<r<<endl; //输出计算结果
    return 0;
}
  他/她说:“老师就是你的那个程序!单步调试,若定义int能通过,但是double通不过!到cin>>死活输不出来!我试了好多遍!我用的是code13.12最新版本!”


  我调试,果然如此。但无法解释。如何答复?我不知道。最后,我这样答复。

  我试过了,确实如你所言。这是否是Code::Block的一个Bug,我不敢肯定,可以通过邮件反馈一下。
  不过,我们可以绕开这样的问题,原则就是不要进入到这个陷阱中去。我提示两个方法:(1)替换:调试中,给变量直接赋值,如你的程序中,将cin>>r1>>r2加上注释,同时写对r1和r2的赋值语句,单步执行能够顺利过去;(2)忽视:通过加断点,跳过cin,而不是机械地一步一步操作。要搞清目标是跟踪过程,而保证输入没有问题,cin完全用不着去step。实际上,即使没有bug,也要适应利用断点,这是一个可以高效的方式。
  我解释不了这段错误,就给你提点“避障”的办法,供参考。科学问题,一定要追根问底,而对这类工程中遇见的问题,首要的原则,让事情能做下去。


  顺便提code::Block中的另一个问题:当项目所在文件名夹中含有中文、空格时,单步高度无法进行。对策:养成习惯,建文件夹时,按字线开头、数字字母串的一般规范去命名。


  存在问题不怕,重要的是找到应对的原则,也是一种选择。




china-pub(正在发售)
卓越网(接受预订) 
图灵社区  官方试读本下载
豆瓣
==================== 迂者 贺利坚 CSDN博客专栏=================
|== IT学子成长指导专栏 专栏文章分类目录(不定期更新)  ==|
|== C++ 课堂在线专栏  贺利坚课程教学链接(分课程年级) ==|
===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =====

  
    







目录
相关文章
|
Docker 容器
【registry】docker 私有仓库实现https 访问
【registry】docker 私有仓库实现https 访问
1827 2
【registry】docker 私有仓库实现https 访问
|
安全 网络安全 网络虚拟化
Cisco-交换机划分Vlan
Cisco-交换机划分Vlan
224 2
|
开发框架 人工智能 API
魔搭社区推出ModelScope-Agent开发框架,打造属于你的智能体
魔搭社区推出适配开源大语言模型(LLM)的AI Agent(智能体)开发框架ModelScope-Agent。
魔搭社区推出ModelScope-Agent开发框架,打造属于你的智能体
|
测试技术 开发工具 git
一个小而全的Python项目示例
之前分享过几篇Python的开发小作品,没有过多提到项目组织。 本文展示一个常见的python项目结构。
244 0
一个小而全的Python项目示例
|
2天前
|
数据采集 人工智能 安全
|
11天前
|
云安全 监控 安全
|
3天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1014 151
|
3天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话