《程序设计基础-c语言》杨莉 刘鸿翔
ISBN-978-7-03-032903-5
p257
习题8
6.编写一个程序,实现将c
语言源程序中的注释全部删除
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
int main()
{
FILE *fp,*fp1;
char str[99]="",str1[99]="";
int i,j,no=0;
if((fp=fopen("file1.c","r"))==NULL)
{
printf("error\n");
exit(0);
}
if((fp1=fopen("new.c","w"))==NULL)
{
printf("error\n");
exit(0);
}
while(fgets(str,99,fp)!=NULL)
{
for(i=0;i<99;i++)
{
if(str[i]=='/' && str[i-1]=='/')
{
str[i-1]='\n';
str[i]='\0';
}
if(str[i]=='*' && str[i-1]=='/')
{
str[i-1]='\0';
no=1;
fputs(str,fp1);
}
if(str[i]=='/' && str[i-1]=='*')
{
for(j=0;j<98-i;j++)
{
str[j]=str[i+j+1];
str[j]='\0';
no=0;
}
}
}
if(no==0)
{
fputs(str,fp1);
}
}
fclose(fp);
fclose(fp1);
return 0;
}