#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上的第一個例子。當我運行編譯後的PROG,C++ switch語句,這是如何工作的
./run 4 (即我給參數4)我得到一個輸出:計數:1
./run 3 我得到一個輸出:計數:2
./run 1 計數:4
./run 0 計數:5
由於計數被初始化爲0,如何來./run 1給出4或./run 0給定計數5
對於這樣一個愚蠢的問題,我真的很抱歉,但是我會很感激任何解釋。
由於提前 問候
謝謝,唉! 「休息」是的!我剛剛在C++書籍上閱讀了一篇文章。希望我很快會提出更好的問題。謝謝 – user1772218
Upvote提到達夫的設備;) –
是的,這是switch語句的一個典型的突破問題。有語法檢查器可以檢測到這一點,因爲它經常(但並非總是)一個錯誤。但是,如果您的值需要稍微不同的操作,則可以非常方便地使用轉換。 –