{
case'/':putc(current,f_out);break;
case'*':where=in_com;break;
default:
putc('/',f_out);
putc(current,f_out);
where=out;
}
Аналогічно програмуються всі інші стани СА.
Тепер легко можна написати програму, що реалізує СА, наведений на рис. 9.5:
#include <stdio.h>
enum states{out,beg_com, in_com, end_com};
char current;
states where;
FILE*f_in,*f_out;
main(){
where=out;
f_in=fopen("c:\\text_in.txt","r");
f_out=fopen("c:\\text_out.txt","w");
while(!feof(f_in))
{
current=getc(f_in);
switch(where) {
case out:
Switch(current)
{
case '/':where=beg_com;break;
default:putc(current,f_out);
}
break;
case beg_com:
Switch(current)
{
case'/':putc(current,f_out);break;
case'*':where=in_com;break;
default:
putc('/',f_out);
putc(current,f_out);
where=out;
}
break;
case in_com:switch(current){
case'*':where=end_com;
}