c编程出错了,求大神给指点一下
/*检测源程序文件中非注释性汉字*/#include<stdio.h>
#include<stdlib.h>
#include<string.h>
unsigned char code[10000];//检测到的汉字
unsigned char buffer[32];
void main()
{
int i, j;
int tmp;
char str1[10000];//存放被检测的字符
FILE *rfp1;//一个被检测源程序
if((rfp1 = fopen("1.c", "rb")) == NULL)
{
printf("Can't Open hzk16\n");
exit(0);
}
while(rfp1 != EOF)
{
for(i = 0; ; i++)
str1[i] = fgetc(rfp1);//逐个读入字符
}
fclose(rfp1);
for(i = 0; str1[i] != '\0';i++)
{
tmp = i;
if(str1[tmp] == '/' && str1[tmp + 1] == '/')//检测屏蔽“//”注释
{
while(str1[tmp + 2] == '\n')
{
tmp++;
break;
}
}
if(str1[tmp] == '/' && str1[tmp + 1] == '*')//检测屏蔽“/* */”注释
{
while(str1[tmp + 2] == '*' && str1[tmp + 3] == '/')
{
tmp++;
break;
}
}
i = tmp + 4;
j = 0;
if(str1[i] >= 128)
{
code[j] = str1[i]; //检测汉字
j++;
}
}
for(j = 0; ; j++)
printf("%s",code[j]);//输出程序中非注释汉字
}