题目:
Write a program to remove all comments from a C program.
#include <stdio.h>
void remove_comment(int c);
void main(){
int c;
c = 0;
while((c = getchar()) != EOF){
remove_comment(c);
}
}
void remove_comment(int c){
int d;
if(c == '/'){
if((d = getchar()) == '*'){
while((c = getchar()) !='*'&&(d = getchar()) != '/'){
;
}
d = getchar();
}
else if(d == '/'){
while((d = getchar()) != '\n'){
;
}
}
else{
putchar(c);
putchar(d);
}
}
else{
putchar(c);
}
}
删除注释,就是要删除 //…… 和 /*……*/两种片段
删除,其实就是不打印,也就是要移动当前打印的位置,在上述两种片段中不作任何打印。