代码只打印一个倍数而不是 3
Code is printing only one multiple instead of 3
我正在编写一个代码,它使用函数显示整数的前三个倍数。但是当我运行它时,它只显示第一个倍数。
#include <iostream>
#include <vector>
// Defined first_three_multiples() here:
std::vector <int> first_three_multiples(int num) {
std::vector <int> output;
for (int i=1; i<4; i++) {
output.push_back(num*i);
return output;
}
}
int main() {
for (int element : first_three_multiples(8)) {
std::cout << element << "n";
}
}
预期输出:8 16 24
实际输出:8
您已将return
语句放在for
循环中。建议遵循正确的代码缩进,以避免此类错误再次发生。
#include <iostream>
#include <vector>
std::vector<int> first_three_multiples(int num)
{
std::vector<int> output;
for (int i = 1; i < 4; i++) {
output.push_back(num * i);
# you put a return statement here, which returns only 8
}
return output; # this would return all three values
}
int main()
{
for (int element : first_three_multiples(8)) {
std::cout << element << "n";
}
}
简单错误
for (int i=1; i<4; i++) {
output.push_back(num*i);
return output;
}
应该是
for (int i=1; i<4; i++) {
output.push_back(num*i);
}
return output;
正确缩进是值得的,因为它使这样的错误更容易发现(并首先避免(。
相关文章:
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 如何使用gdb制作一个可以漂亮地打印每个对象的C++函数
- 获取用C/C++打印的最后一个字符串
- 为什么它只打印双链接列表的第一个值,而我的程序却崩溃了
- 为什么有时我输入一个整数,程序将第一个输入的数字打印成十进制数?
- 只有一个内环的打印图案
- 将值传递到另一个类函数在打印时为零
- 我用字符串做了一个C++构造函数,但它不会打印出字符串
- 我重载了 << 和 = 运算符。为什么当我将一个对象分配给另一个对象并尝试打印它时,我会被打印出来?
- 打印对象的映射,其中另一个对象作为键
- 类函数返回到另一个类函数返回打印不同的值
- 如何打印下一个字母直到 Z 并继续到 A?
- 我在 C++ 中创建了一个函数来递归反转字符串,但是之后如何使功能打印一个 endl?
- c++:如何打印出一个强制转换的 int 值?
- 为什么在C++中增加指针后打印了一个值而不是 NULL/0?
- 我在C++中编写了一个方法来打印树类的预序,但它显示了分割错误
- 该程序没有产生输出,而是卡在一个循环中,几秒钟后消失并打印被杀死?
- 如何在循环中使用scanf,将值存储到一个变量中,然后打印出来?
- 如何在级别上打印树,给定一个结构,该结构保存节点的值及其父节点的值,对于树中的每个节点
- 需要使班级(long_number)用构造函数和一个打印功能代表1到60的任何长度