C程序设计EXERCISE 1-8的问题
统计输入字符中,空格、制表符和换行符的个数,参考答案如下,前面都可以理解,请各位帮忙解释一下我加注释的部分,谢谢#include<stdio.h>
int main(void)
{
int blanks,tabs,newlines;
int c;
int done=0;
int lastchar=0;
blanks=0;
tabs=0;
newlines=0;
while(done==0)
{
c=getchar();
if(c==' ')
++blanks;
if(c=='\t')
++tabs;
if(c=='\n')
++newlines;
if(c==EOF)
{
if(lastchar != '\n') \\如果lastchar不是换行符(前面lastchar赋初值为0,这里 是不是就是
{ 0!='\n'?这句在程序中应该怎样理解?
++newlines; \\newline统计计数+1
}
done=1; \\把1赋给done,退出前面的while(done==0)循环
}
lastchar=c; \\为什么要把c赋给lastchar
}
printf("Blanks:%d\nTabs:%d\nLines:%d\n",blanks,tabs,newlines);
getch();
return 0;
}