所以我有這樣的代碼爲C++(不是C++ 11)C++使用for循環,當你不知道什麼時候迭代將結束
#include <iostream>
using namespace std;
int calcTrip (string s) {
int ans = 1;
for (int i = 0; i < sizeof(s); i++) {
char c = s[i];
ans = ((ans*(c - 'A' + 1)));
}
return ans;
}
int main() {
string a1, a2;
cin >> a1 >> a2;
cout << calcTrip(a1) << endl;
if (calcTrip(a1) != calcTrip(a2)) {
cout << "STAY" << endl;
}
else {
cout << "GO" << endl;
}
}
對於我對在calctrip
變量i
循環,如果我做i<sizeof(s)
我得到的i
小於32,因爲一個字符串的大小爲32.由於字符串s
是一個用戶輸入,我如何使i
小於用戶輸入字符數s。
PS我知道如何在C++ 11做到這一點,但對於類,我需要知道如何做到這一點在C++ 98
'sizeof(s)'不是字符長度's'。你確定你知道你在做什麼嗎? – StoryTeller
- >你應該使用's.size()'來代替。 – songyuanyao
除非我需要從問題標題中瀏覽它,否則在這裏沒有看到具體問題?似乎你錯過了你的問題的一部分。 –