题解1:来自 一种比较简洁的C语言写法

一个单词一个单词地接收,用 scanf("%s", str) 以空格为每个单词的结束符,输出最后一个str的strlen

#include <stdio.h>
#include <string.h>
 
int main()
{
    char str[1000];
    int count=0,i=0;
 
    while(scanf("%s",str) != EOF)
    {}
    a=strlen(str);
    printf("%d", count);
}

题解2:从后向前找第一个空格,找到前一直 count++

#include <stdio.h>
#include <string.h>

int main() {
    char str[5000];
	gets(str);
	int count=0;
	for(int i=strlen(str)-1; i>=0; i--){
			if(str[i]==' ') break; 
            count++;
            
	}
	printf("%d",count);
}