#include <iostream>
#include <sstream>
int main(int argc, char* argv[]) {
if ( argc != 2 ) {
std::cout << "usage: " << argv[0] << " <n> " << std::endl;
return 0;
}
std::stringstream strm;
strm << argv[1];
int count = 0;
int number;
strm >> number;
switch ( number ) {
case 0: ++count;
case 1: ++count;
case 2: ++count;
case 3: ++count;
case 4: ++count;
}
std::cout << "count: " << count << std::endl;
return 0;
}
我知道这是一个新手问题,但我刚开始使用 C++。我参加了一个游戏设计课程,这是教授在 SVN 上的第一个示例。当我编译后运行程序时,
./run 4 (即我给出参数 4) 我得到一个输出:count: 1
./run 3 我得到一个输出:count: 2
./run 1 计数:4
./run 0 计数:5
由于 count 被初始化为 0,为什么 ./run 1 给出 4 或 ./run 0 给出 count 5。
对于这样一个愚蠢的问题,我真的很抱歉,但我会很感激任何解释。
提前致谢