我在挠头……为什么 strcmp_iter 中的 return 语句从未被调用?
当我运行这个函数时,输出只是从 0 计数到 6 然后终止......没有返回语句。非常令人沮丧。有趣的是,如果我将 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;
}