#include <cstdlib>
#include <iostream>
int GenerateID()
{
using namespace std;
static int nNextID = 0;
nNextID++;
if (nNextID <= 20)
cout << nNextID << endl;
}
int main()
{
int GenerateID();
system("pause");
}
Run Code Online (Sandbox Code Playgroud)
上面的程序为什么不运行?我想用这个程序从1-20生成控制台号码.
实际上,该程序正在运行.但是,该程序不会生成任何输出.我期望的输出是数字1到20上由空格分隔一行.我观察到空白,即没有输出.
该程序不会崩溃.没有编译器错误或警告.事实上,这是一个程序的演练:
我导入两个库,cstdlib用于执行使用系统命令system和iostream用于输入和输出对象cin和cout分别.它们位于std命名空间中,所以我输入using namespace std因为我很懒,不想输入std::cout.
然后我初始化nNextID为0,增加它,如果它小于20,它将输出nNextID.这是功能的结束.
我从该函数调用该函数main并用于pause结束该程序.那么,为什么我拿到的时候我期待空白输出1到20一行,用空格分隔的数字吗?
c++ ×1