#include <iostream>#include <string>using namespace std;int main() { string s("some string"); if (s.begin() != s.end()) { auto it = s.begin(); while (it != s.end() && !isspace(*it))
*it = toupper(*it);
it++; cout << s << endl;
} return 0;
}在學(xué)習(xí)c++primer迭代器這一節(jié)時(shí),要求是把上面程序的字符串s全部改為大寫,書上用的是for循環(huán),我試著使用while,但是編譯通過(guò)了, 執(zhí)行的時(shí)候不顯示結(jié)果,ctrl+D 沒反應(yīng), 只能ctrl+Z或ctrl+C強(qiáng)制結(jié)束。想問一下, 我的程序有是語(yǔ)法上的錯(cuò)誤, 還是迭代不支持while謝謝
關(guān)于c++ 迭代器,使用while時(shí)陷入死循環(huán)的問題?
慕斯王
2018-06-17 17:34:21