【问题标题】:Why is this happen when I am running my programm? [closed]为什么在我运行程序时会发生这种情况? [关闭]
【发布时间】:2020-06-06 04:50:55
【问题描述】:

我是Borland C++这个软件的新手,现在我正在尝试运行我自己的项目,但是为什么在我运行程序时会出现这种情况?

【问题讨论】:

  • 让我们看看你的程序,而不是你的输出图像。另外,你为什么要使用这么老的编译器,上一代的东西?
  • 我正在学习使用这个旧版本。软件,因为我的讲师要求我使用它。当我试图从互联网上搜索答案时,它很糟糕。给出的答案只能应用于新版本。软件..
  • 我的建议:切换到好的 C++11 编译器,例如 GCCClang。两者都是开源的,所以可以免费下载(在 Windows 上,考虑MinGW;在 Linux 或 MacOSX 上,你会找到包)。在您的问题中提供一些minimal reproducible example(不是作为某些外部图像的链接)阅读more about C++
  • 启用所有警告和调试信息:GCC 编译g++ -Wall -Wextra -g;阅读一本好的C++ programming 书和一些C++ tutorial。备份最重要的数据后,考虑在笔记本电脑上安装一些 Linux 发行版(例如 Debian
  • 一旦您的 C++ 代码与 GCCporting 一起使用,Borland C++ 只需几分钟的工作(添加一些 #ifdef...)

标签: c++ borland-c++


【解决方案1】:

我的猜测是数据类型错误。它将学生 ID 打印为浮点数(例如 5.6 或 1.44E09),但基础数据不是浮点数。例如:

int student = 53;
printf ( "Student ID = %f\n", student );   // WRONG

学号是一个整数“int”,但是在打印指令中(在这个例子中)它告诉计算机打印一个浮点数(%f)要打印一个int,你必须使用%d:

int student = 53;
printf ( "Student ID = %d\n", student );

将 %f 用于浮点数:

int student = 53;
float  gradeAverage = 3.6; 
printf ( "Student ID = %d  grade=%f\n", student, gradeAverage);

【讨论】:

  • 这是您对问题的猜测,您应该建议使用cout 而不是printf。那么数据类型问题就变成了一个有争议的问题。
猜你喜欢
  • 2023-01-11
  • 2021-01-24
  • 1970-01-01
  • 2013-08-02
  • 2018-12-19
  • 2021-07-19
  • 1970-01-01
  • 1970-01-01
  • 2021-04-30
相关资源
最近更新 更多