最后一个单词其实就是整个字符串最后一个空格后的一个子字符串,我们不妨将整个字符串逆序,求从开始到第一个空格的长度即可。
#include<string>
#include <algorithm>
using namespace std;
int main()
{
string a;
getline(cin, a);
int size = a.size()-1;//去掉‘\0’的占位
int count = 0;
reverse(a.begin(),a.end());
while(a[count]!=' ' && count<=size)//注意考虑整个字符串就是一个单词的情况
{
count++;
}
cout<<count;
}