wc

用c语言实现字符串数,字符个数,行数的简单的wc功能,在windows电脑下,用vs2017运行的。http://blog.csdn.net/keepupblw/article/details/24390401 代码如下:

  1. #include <stdio.h>  
  2. #define IN 1  
  3. #define OUT 0  
  4. void wc(){  
  5.     char c;  
  6.     int char_num,word_num,line_num,state;  
  7.     char_num=word_num=line_num=0;  
  8.     state=OUT;  
  9.     while((c=getchar())!=EOF){  
  10.         //不管输入的是什么字符,都需要统计  
  11.         char_num++;  
  12.         if(c=='\n'){         
  13.             line_num++;  
  14.         }  
  15.         if(c=='\n' || c=='\t' || c==' '){  
  16.             //遇到以上字符,输入字符在单词外  
  17.                 state=OUT;  
  18.         }else if(state==OUT){  
  19.         //else说明输入的不是换行,空格及制表位;换言之,就是合法的字符;  
  20.         //如果不对state进行判断,那么word_num会统计所有的合法字符  
  21.     //什么时候对word_num加1?当现在的状态是在单词外,接受到的字符是合法字符时,表示一个新的单词开始,这才要加1,还要更新状态位  
  22.             state=IN;  
  23.             word_num++;  
  24.         }  
  25.         }  
  26.    
  27.    
  28.     printf("line_num=%d\nword_num=%d\nchar_num=%d\n",line_num,word_num,char_num);  
  29. }  
  30. int main(){  
  31.     wc();  
  32.     return 0;  
  33. }  
posted on 2017-09-28 20:56  Ylove  阅读(377)  评论(0编辑  收藏  举报