#include <stdio.h>
int main()
{
FILE *fp = fopen("file0702.c", "r");
if (fp == NULL)
{
printf("打开文件错误\n");
return -1;
}
long filesize = 0, //总长度
len = 0; //注释长度
char ch;
int flag1 = 0, // 标记字符'/'
flag2 = 0; // 标记字符'*'
while (1)
{
if ((ch = fgetc(fp)) == EOF)
break;
filesize++;
if (flag1 && flag2) //统计注释
len++;
if (ch == '/')
{
if (flag1 == 0 && flag2 == 0)
flag1 = 1;
else if (flag1 == 1 && flag2 == 0)
{
flag1 = 0; //退出注释
}
}
if (ch == '*')
{
if (flag1 == 1 && flag2 == 0)
flag2 = 1; //进入注释
else if (flag1 == 1 && flag2 == 1)
{
flag2 = 0;
len--;
}
}
}
printf("%d%%\n", (int)(len * 1.0 / filesize * 100));
return 0;
}