首页 新闻 会员 周边 捐助

这段代码如果去掉continue有什么影响吗。。求大神指教

0
悬赏园豆:5 [已解决问题] 解决于 2015-09-03 19:38

#include<iostream>
#include<string>
using namespace std;
int main(){
string a, b, c;
getline(cin, a);
for (unsigned int i = 0; i < a.size(); i++){
if (a[i] == ' '){
c.push_back(' ');
b.insert(0, c);//在b的0位置插入c字符串
c.erase(0);//从0位置删除以后全部内容
continue;//一定要写这个。
}
c.push_back(a[i]);
}
//因为最后没有空格了,所以额外需要添加
c.push_back(' ');
b.insert(0, c);
b.erase(b.size()-1);//删除最开始加入的空格,也可不要
cout << b;
return 0;


}

稻北的主页 稻北 | 初学一级 | 园豆:83
提问于:2015-09-02 23:27
< >
分享
最佳答案
0

影响就是当  if (a[i] == ' ')  成立后 c.push_back(a[i]);执不执行的问题.

如果去掉的话,  if (a[i] == ' ') 成立与否, c.push_back(a[i]); 都会执行

如果不去掉的话 ,只有在 if (a[i] == ' ') 不成立的时候 c.push_back(a[i]);才执行

 

不去掉的情况等同于 下面的代码

if (a[i] == ' '){
c.push_back(' ');
b.insert(0, c);//在b的0位置插入c字符串
c.erase(0);//从0位置删除以后全部内容
}else{
c.push_back(a[i]);

}

只会造轮子 | 老鸟四级 |园豆:2274 | 2015-09-03 11:43

明白。。蟹蟹。。

稻北 | 园豆:83 (初学一级) | 2015-09-03 11:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册