就是
#define IN 1;         /*在单词内*/
#define OUT 0;        /*在单词外*/
这里的分号报的错
把分号去掉后,用TC2.0编译运行通过,但不知道功能……

我选择 仅仅是因为 我喜欢
#include <stdio.h>
#define IN 1        /*在单词内*/
#define OUT 0       /*在单词外*/
int main(int argc, char* argv[])
{
    int n1,nw,nc,state;
    char c;
    state = OUT;
    n1 = nw = nc = 0;
    while( (c = getchar())!=EOF )
    {
       n1++;
                
        if(c==' '||c=='\n'||c=='\t')
        {
            state = OUT;
        }
        else 
        {
              state=IN;
              nw++;
        }
      }
    
    printf("%d %d %d\n",n1,nw,nc);
    return 0;
}
由于我还没有弄懂你题目的意思以及你程序要完成的功能
故此根据我个人的理解所作出的修改 
请楼主把原题目和要求实现的功能告诉大家 
以便大家更好的帮你解决
[此贴子已经被作者于2007-8-7 11:35:17编辑过]