#include <iostream>
#include <string>
using namespace std;

int main() {
    string s;
    getline(cin, s);
    int len = s.length();
    for(int i = len-1;i>=0;i--){
        if(s[i]==' '){
            int res = 0;
            for(int j = i+1;s[j]!='\0'&&j<len;j++){
                res++;
            }
            cout<<res<<'\n';
            return 0;
        }
    }
    cout<<len<<'\n';
}
// 64 位输出请用 printf("%lld")

从后往前遍历字符串,如果遇到空格则往后计算字符传的长度,否则输出整个字符串的长度

活动地址https://www.nowcoder.com/discuss/726480854079250432