初学c++,输出单词个数

来源:百度知道 编辑:UC知道 时间:2024/05/27 01:19:36
#include<iostream>
#include<string>
using namespace std;
int main(){

string word;
while(cin>>word){
int sum=0;
for(char *it=word.begin();it<word.end();it++){
if(it=" "){
sum++;
}
cout<<sum+1<<endl;
}
}

}
例如:
输入word see
输出2
错误:代码不停循环,不知那里错了
高手请指点
#include<iostream>
#include<string>
using namespace std;
int main(){
int sum=0;
string word;
while(cin>>word){

for(char *it=word.begin();it<word.end();it++){
if(it==" "){
sum+=sum;
}

}
cout<<sum+1<<endl;}

}
程序改了一下编译没有错误,执行却有错误,不知为何

VC6调试通过

#include<iostream>
#include<string>
using namespace std;
void main(){

string word;
int sum=0;
char *it;

while(cin>>word){
for(it=word.begin();it<=word.end();it++)
{
if(*it=='\0')
sum++;
}
if (it==(word.end()+1)) cout<<sum+1<<endl;

}
}