制表符的问题
#include <stdio.h>/*test the word,line,char number */
#define IN 1
#define OUT 0
int main(void)
{
int state,nw,nl,nc,c;
nw=nl=nc=0;
state=OUT;
while((c=getchar())!=EOF){
++nc;
if(c=='\n')
++nl;
if(c=='\n'||c=='\t'||c==' ')
state=OUT;
else if(state==OUT){
++nw;
state=IN;
}
}
printf("word=%d,line=%d,char=%d",nw,nl,nc);
return 0;
}
当输入abcd\tabcd abcd\nabcd abcd abcd .是为什么是四个单词那,想个应该是六个单词,\t算作两个字符?
在这儿单词定义,不包括\t,\n,空格的字符序列。急