代码可以编译,但没有输出
Code does compile but no output
我编写了这段代码,应该构建两个向量,一个包含最多 100 的整数,另一个包含这些整数的平方,并且想编写两列,以便值排列在两列中。程序编译正常,但输出为空,即 nothinkg 出现,但只有消息"进程返回 0 (0x0("。我在这里到底错过了什么?
#include <iostream>
#include <cmath>
#include <iomanip>
#include <vector>
using namespace std;
int main()
{
vector<int> numbers;
typedef vector<int>::size_type vec_sz;
vec_sz size = numbers.size();
for (vec_sz i = 0; i != numbers.size(); ++i)
{
numbers.push_back(i);
}
vector<int> squares;
for (vec_sz i = 0; i!= squares.size(); i++)
{
squares.push_back(i^2);
}
for (vec_sz i = 0; i != numbers.size(); ++i)
{
cout << setw(3)
<< numbers[i]
<< setw(6)
<< squares[i]
<< endl;
}
return 0;
}
当你在主函数的开头写下这一行时,
vec_sz size = numbers.size();
您想要获取向量的大小。但是,numbers
为空,则不包含任何数据。因此大小将为 0。这里numbers.size()
将返回 0。
因此,for (vec_sz i = 0; i != numbers.size(); ++i)
甚至不会执行一次。
假设您要填充numbers
,那么您应该知道要填写多少个值numbers
。知道此值后,将其存储在变量中,例如 count
.
样本:
const int count = 10;
for (int i = 0; i < count; ++i) {
numbers.push_back(i);
}
// now numbers.size() will return 10;
您的squares
向量也是如此。
相关文章:
- 编译并运行后,输出未出现在 Visual Studio 代码中
- std::cout输出int时出现编译错误
- 在由Sublime文本3编译后在cmd上显示Java程序输出
- 这是使用回溯的 nqueen 问题,但我使用了动态 2d 数组,我的程序编译良好,但不返回任何输出
- 代码编译没有任何输出,入门程序
- 编译 gsoap 输出文件 (onvif) 时出现问题
- 如何在编译过程中输出C 类型信息
- Linux MinGW:在编译时,他输出了 8 个"nultiple definitions"列表
- 将char8_t const* 输出到 cout 和 wcout,一个编译一个不编译
- GCC 预处理器输出和编译一次通过,v2
- 已编译的 protobuf 文件的意外输出路径
- Visual Studio 编译的程序在尝试减小输出大小后无法正确初始化
- 尝试用 c++ 制作一个简单的加法器.编译成功,但输出错误
- Protobuf:了解原型文件的编译输出
- 二进制搜索 - 代码编译并运行后不显示输出
- 代码可以编译,但没有输出
- 在不同于依赖DLL的文件夹中输出已编译目标的正确方法是什么
- C++程序读取ppm和pgm文件,对其进行操作并输出.编译错误
- 从程序中得到错误的输出.编译时没有错误
- 如何在Visual c++编译期间输出编译时数字常量?