#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");
}
为什么上面的程序没有运行?我希望它使用该程序在 1-20 的控制台编号上生成。
事实上,程序正在运行。但是,该程序没有生成任何输出。我希望输出是由空格分隔的一行的1
数字20
。我观察到空白,即没有输出。
程序不会崩溃。没有编译器错误或警告。实际上,这是该程序的演练:
我导入了两个库,分别使用和为输入和输出对象cstdlib
执行系统命令和。它们位于命名空间中,所以我输入,因为我很懒,不想输入.system
iostream
cin
cout
std
using namespace std
std::cout
然后我初始化nNextID
为0
,增加它,如果它小于 20 它应该输出nNextID
。这是函数的结束。
我调用该函数main
并使用它pause
来结束程序。1
那么,当我期望在20
一行上用空格分隔数字时,为什么会得到空白输出?