主要注意输入时候,cin输入是会过滤掉不可见字符如空格,回车。从第一个非空白符开始读,直到空白符或结束为止。
单词是以空格分隔的,从后往前找第一个空格的位置,字符串的有效元素个数减去它,因为有效元素个数是从1开始计的,位置pos是0开始的,所以得再减个1,就是最后一个单词长度。
#include<iostream>
#include<string>
using namespace std;
void lenth_of_lastword(string& s) {
size_t pos = s.rfind(' ');
cout << s.size() - pos - 1 << endl;
}
int main() {
string s;
while (getline(cin, s)) {
lenth_of_lastword(s);
}
return 0;
}