亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于c++ 迭代器,使用while時陷入死循環的問題?

關于c++ 迭代器,使用while時陷入死循環的問題?

慕斯王 2018-06-17 17:34:21
#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; }在學習c++primer迭代器這一節時,要求是把上面程序的字符串s全部改為大寫,書上用的是for循環,我試著使用while,但是編譯通過了, 執行的時候不顯示結果,ctrl+D 沒反應, 只能ctrl+Z或ctrl+C強制結束。想問一下, 我的程序有是語法上的錯誤, 還是迭代不支持while謝謝
查看完整描述

1 回答

?
慕娘9325324

TA貢獻1783條經驗 獲得超5個贊

#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())?{
????????????*it?=?toupper(*it);
????????????it++;
????????}????????cout?<<?s?<<?endl;
????}????return?0;
}


查看完整回答
反對 回復 2018-07-20
  • 1 回答
  • 0 關注
  • 379 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號