开发者社区> 问答> 正文

C语言基础单词计数问题?求救,急急急!!!? 400 报错

C语言基础单词计数问题?求救,急急急!!!? 400 报错

//这是一个计算字符数 ,单词数,行数的小算法,但是在vc++6.0中运行出现编译错误

//感觉上应该没有问题呀!求救!!

#include <stdio.h>

#define OUT 0;

#define IN 1;

 main ()

 {

int c ;

int nl,nw,nc,state;//nl行数,nw单词数,nc字符数

nl = nw = nc = 0;

state = OUT;

while ((c = getchar())!=EOF)

{

putchar(c);

if(c=='\n')

{

nl++;

}

if(c==' '||c=='\t'||c=='\n')

{

state = OUT;

}

    else if(state == OUT)

{

state = IN;

nw++;

}

nc++;

}

printf("%d,%d,%d",nc,nw,nl);

 

 }

//错误如下

C:\Users\liyingjie\Desktop\chapter1-5-4.c(3) : warning C4005: 'IN' : macro redefinition

        c:\users\liyingjie\desktop\chapter1-5-4test.c(0) : see previous definition of 'IN'

C:\Users\liyingjie\Desktop\chapter1-5-4.c(21) : error C2143: syntax error : missing ')' before ';'

C:\Users\liyingjie\Desktop\chapter1-5-4.c(21) : error C2059: syntax error : ')'

执行 cl.exe 时出错.

 

展开
收起
爱吃鱼的程序员 2020-06-22 23:01:40 454 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    #define后面不加分号######

    #defineOUT0;
    #defineIN1;
    改为
    #defineOUT0
    #defineIN1

    是你要的意思么?
    ######嗯,谢谢,十分感谢!######<divclass="ref">

    引用来自“billzheng”的答案

    <divclass="ref_body">
    #defineOUT0;
    #defineIN1;
    改为
    #defineOUT0
    #defineIN1

    是你要的意思么?
    <divclass="a_body">就是错在来着,谢谢大神######回复<aclass="referer"target="_blank">@billzheng:哈哈哈哈哈######慢给Leo108好几次了,都是因为尽量去多码几个字,让你们能看懂。以后直接贴(开玩笑呢)######

    #define后面为什么不能叫分号其实加分号编译也没问题

    只是加了之后会这样

    <preclass="brush:cpp;toolbar:true;auto-links:false;">#definemax10;if(max){//...}//然后编译的时候会被替换成if(10;){//....}

    ######回复<aclass="referer"target="_blank">@魔方帅帅:???有问题么宏确实是这样被替代的么######这个不行吧,你好像把表达式和语句弄混了。。######为什么用C,用正则鉴定字词,用hash记录次数,很快,很简单

    2020-06-22 23:01:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
当泛型遇上协议 立即下载
数据+算法定义新世界 立即下载
Go语言路上踩过的坑 立即下载