当前位置: 首页 > 知识库问答 >
问题:

为什么这个C++程序不能正常运行?

梁丘远航
2023-03-14

现在我正在学习C++我做了我的第一个小程序加法计算器,我写两个数字,它把它们相加。你能告诉我为什么我的输出是0吗?

#include <iostream>
#include <string>
using namespace std;

int main () {
    int a;
    int b;
    string number1;
    string number2;
    number1 = a;
    number2 = b;
    int output;
    output = a + b;
    getline (cin, number1);
    getline (cin, number2);
    cout << output;
    }

输出:

1
1
0

共有1个答案

宗啸
2023-03-14

按顺序逐步检查代码,您将看到问题所在:

int main () {
    int a;
    int b;
    string number1;
    string number2;
    number1 = a;
    number2 = b;
    int output;
    output = a + b;
    getline (cin, number1);
    getline (cin, number2);
    cout << output;
}

你定义了四个变量,用一种奇怪的方式摆弄其中的两个,然后把输出计算为a+B。

此时,您还没有与用户进行实际交互。完成所有操作,然后接受两个值(作为字符串)并输出先前计算的值。

您从不使用从输入中提取的值,而在执行其他操作之后才使用。

不妨试试这个:

#include <iostream>
#include <string>

int main () {
    std::string number1;
    std::string number2;
    std::getline (std::cin, number1);
    std::getline (std::cin, number2);

    int a = std::stol(number1);
    int b = std::stol(number2);
    int output = a + b;
    std::cout << output << std::endl;
}

也就是说,定义字符串,然后从用户那里获取它们。

STD::短距起落是“从弦到长”。它将字符串转换为数字。

剩下的应该说得通。

 类似资料:
  • 从重新索引文档: 使用可选的填充逻辑将DataFrame与新索引一致,将NA/NaN放置在上一个索引中没有值的位置。除非新索引与当前索引等效,并且Cope=False,否则将生成新对象。 因此,我认为我可以通过在适当的位置(!)设置复制=False来重新排序。然而,我似乎得到了一个副本,需要再次将其分配给原始对象。我不想把它分配回去,如果我能避免它的话(原因来自于另一个问题)。 这就是我正在做的:

  • 我在运行钢筋应用程序时遇到了类似的问题 基本上,我想从以下位置运行演示代码:https://github.com/hukl/fancyapi 当我在根目录中时,我会: ERL如何找到fancyapi代码?

  • 我正在学习使用stl向量,这是奇怪的,这个程序不能工作。这有什么问题?如果我想用Vector实现同样的功能,应该怎么做呢?

  • 我试图制作一个基本的C程序来读取一个文件,但由于某种原因,当我使用运行它时<代码>/Test1 Test1。txt我得到“错误:'s'可能在未初始化的情况下用于此函数”。

  • 我有这个项目。然后我做以下步骤: 转到 预期结果:错误消息(在浏览器中呈现) 白标签错误页 此应用程序没有 /error的显式映射,因此您将此视为一种退回。星期二八月27 16:59:23CEST 2019有一个意外的错误(类型=未找到,状态=404)。没有可用的消息 如何更改附加的代码,使文件索引代替此错误。是否呈现xhtml? 更新1:如果我去,我得到这个错误: 白标签错误页此应用程序没有/E

  • 我写了一个小基准来比较Python、Ruby、JavaScript和C的不同解释器/编译器的性能。正如预期的那样,结果表明(优化的)C打败了脚本语言,但是它的系数非常高。 结果是: 我想知道是否有人能解释为什么优化的C代码比其他代码快三个数量级以上。 C基准测试使用命令行参数以防止在编译时预计算结果。 下面,我放置了不同语言基准测试的源代码,它们应该在语义上是等价的。此外,我提供了优化的C编译器输