现在我正在学习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
按顺序逐步检查代码,您将看到问题所在:
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编译器输