我觉得,一下这个应该是我写出来的比较简单的一种写法了哈哈哈哈哈哈!!!!!已经调试过了请放心用。
小小的总结一下:
1,scanf()函数,如果转换说明是%s的话,他的读取规则是,“读取除空白以外的所有字符串”。scanf()函数跳过空白开始读取第一个非空白字符,并保存非空白字符直到再次遇到空白字符。也就是说!!!!scanf()函数根据%s转换说明读取一个单词!!!
2,EOF,EOF是stdio.h文件里定义的特殊值,通常情况下#define指令会把EOF定义为“-1”,当scanf()读取到文件结尾时,就会返回EOF(如果是转换说明错误好像是会返回“0”)

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

int main()
{
    char str[1000];
    int a=0,i=0;

    while(scanf("%s",str) != EOF)
    {}
    a=strlen(str);
    printf("%d",a);
}