字串是程式當中相當重要的議題,我們從 hello, world 就接觸到它,但我們始終用一種敷衍的態度點到為止。在變數型別中,提到字串其實就是字元陣列。如今我們學過陣列,終於可以好好的討論一下字串惹。 與陣列相似,C++ 的字喘也有傳統 C 風格與現代 C++ STL 兩種。雖然競賽實務上往往用 C++ STL 方便許多,但傳統 C-style string 的設計有許多巧思,值得了解。 C-style string 既然字串是字元陣列,那就直接宣告來用看看吧: #include <iostream> using namespace std; int main() { char str[] = "hello, world";...

C-style array 有時我們會需要紀錄大量同樣型別的變數,比如 GreenJudge c041 , 題目輸入 \(N\) 及 \(N\) 個人的現金,那我們要怎麼儲存呢??我們可以使用陣列 (array): #include <iostream> using namespace std; int main() { int n; cin >> n; int arr[n]; // ... return 0; } 第九行的 int arr[n]; 宣告整數型別的陣列,其長度為 n. 之後,我們就能以 arr[0], arr[1], …, arr[n - 1] 陣列中的元素 (element) 來存取陣列中的元素。...

在開始前先看一段程式碼: #include <iostream> using namespace std; int main() { int a = 87, b; b = a; a = 69; cout << "a = " << a << ", b = " << b << '\n'; return 0; } 猜猜看,以上程式碼的輸出為何?? 可能會有人以為是 69 69, 但實際上是 69 87, 原因是我們宣告 a, b 兩個整數變數,他們分別儲存在記憶體的不同位置,而我們強調過: 程式語言中 a = b; 的涵義為將 a 的值設定為 b. 第八行 b = a; 將 b 的值設為 a 當時的值也就是 \(87\), 之後第九行...