頭を悩ませています...strcmp_iter内のreturnステートメントが呼び出されないのはなぜですか?
この関数を実行すると、出力は単に0から6までカウントしてから終了します...returnステートメントはありません。非常にイライラします。興味深いことに、myString2を "abcdefG"に変更すると、すべてが正常に機能します...非常に奇妙です。
int strcmp_iter(string s1, string s2) {
int i = 0;
for (; ((s1.at(i) == s2.at(i)) && (i <= s1.length())); i++) {
cout << i << endl;
}
return s1.at(i) - s2.at(i);
}
int main() {
string myString1 = "abcdefg";
string myString2 = "abcdefg";
int count_iter = strcmp_iter(myString1, myString2);
cout << "Iter: " << count_iter << endl;
return 0;
}