我想創建一個程序,給定一個輸入文件,返回所有代碼行的計數輸入文件,不包括空白行和註釋行。我寫了下面的代碼,但是我需要幫助你如何排除包含註釋和空白行的行。程序讀取代碼並計算其中的行數,不包括註釋和計數空行
#include<stdio.h>
int main()
{
int count;
char ch;
FILE *fptr;
clrscr();
fp=fopen("test.cpp","r");
if(fp==EOF)
{
perror("Error:");
}
else
{
while(ch!=EOF)
{
ch=fgetc(fptr);
if(ch=='\n')
count++;
if(ch=='\\')
count--;
if(ch=='\*')
{
while(ch!='*\')
{
ch=fgetc(fptr);
}
}
}
printf("the lines in the code are %d\n",count);
fclose (fptr)
}
getchar();
return 0;
}
如何修改上述代碼,以便空行和註釋行不計算在內?
究竟是如何「不工作」? – 2010-10-05 04:17:03
如何修改上面的代碼,以便空行和註釋行不計數? – 2010-10-08 15:57:47
未初始化的'ch'。它可能發生你的程序甚至從來沒有進入while循環。 – pmg 2010-10-08 16:00:21