关于string.erase函数删除错误
void simpify(string& x)//去除前导0 { for(string::iterator it=x.begin();it!=x.end();it++) { if(*it=='0') { x.erase(it); cout<<x<<endl; } else break; } }
错误原因:每次删除一个元素后迭代器会自动加一所以for循环多增加了一
void simpify(string& x)//去除前导0 { for(string::iterator it=x.begin();it!=x.end();it++) { if(*it=='0') { x.erase(it); cout<<x<<endl; } else break; } }
错误原因:每次删除一个元素后迭代器会自动加一所以for循环多增加了一